多线程,理论部分

Posted yizhixiaowenzi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程,理论部分相关的知识,希望对你有一定的参考价值。

一。什么是线程?

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

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

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

 

二。线程的创建开销小

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

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

 

三。线程与进程的区别

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

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

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

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

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

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

 

四。为何使用多线程

 

 

五。多线程的应用举例

六。经典的线程模型

七。POSIX线程

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

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

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

十一。混合实现

十二。线程小故事

以上是关于多线程,理论部分的主要内容,如果未能解决你的问题,请参考以下文章

python并发编程之多线程理论部分

玩转多线程

多线程理论知识

java 多线程理论篇章

Day10 多线程理论 开启线程

java多线程访问同一个数组,存在并发问题吗,每个线程访问的是数组的不同部分,不存在冲突