多线程,理论部分

一。什么是线程?

在传统操作系统中,每个进程都有一个地址空间,而且默认就有一个控制线程。

进程只是把资源集中到一起(进程只是一个资源单位/资源集合),而线程才是cpu上的执行单位。

多线程:在一个进程中存在多个控制线程,多个控制线程共享进程的地址空间。

二。线程的创建开销小

创建线程的开销要远小于创建进程的开销,

"进程之间是竞争关系,线程之间是协作关系"

三。线程与进程的区别

1。线程共享创建它的进程的地址空间;进程有自己的地址空间

2。线程可以直接访问其进程的数据段;进程有自己的父进程数据段的副班

3。线程可以直接与进程中的其他线程通信;进程必须使用进程间通信来与同级进程通信

4。新线程很容易创建;新进程需要父进程的复制

5。线程可以对同一进程的线程进行相当大的控制;进程只能对子进程进行控制

6。主线程得更改(取消,优先级更改等)可能会影响进程中其他线程的行为;对父进程的修改不会影响子进程

四。为何使用多线程

五。多线程的应用举例

六。经典的线程模型

七。POSIX线程

八。在用户空间实现的线程

九。在内核空间实现的线程

十。用户级与内核级线程的对比

十一。混合实现

十二。线程小故事

猜你喜欢

转载自www.cnblogs.com/yizhixiaowenzi/p/12274291.html