一,什么是线程
如把进程比作一个运行的生产车间,那么线程就是这个车间的一条流水线。进程只是用来把资源集中到一起(进程只是一个资源单位或资源吧集合),而线程才是CPU上的执行单位
1,多线程(即多个控制线程)的概念,在一个进程中存在多个控制线程,多个控制线程共享该进程的地址空间,相当于一个车间内有多条流水线,都共用一个车间的资源。
2,进程与线程之间的关系
创建进程的开销远大于线程 进程之间是竞争关系,线程之间是协作关系
二,线程与进程之间的区别
1,线程共享创建它的进程的地址空间;进程有自己的地址空间。
2,线程可以直接访问其进程的数据段;进程有自己的父进程数据段的副本。
3, 线程可以与进程的其他线程直接通信;进程必须使用进程间通信来与同级进程通信
4,新线程很容易创建;新进程需要父进程的重复。
5,线程可以对同一进程的线程进行相当大的控制;进程只能对子进程执行控制。
6,主线程(取消、优先级变更等)的anges可能会影响进程中其他线程的行为;对父进程的更改不会影响子进程。
三,多线程的应用
1,多线程共享一个进程的地址空间
2,线程比进程更容易创建与撤销,线程比进程更轻量级
3,存在大量的计算机和大量的I/O处理,在重叠的情况下程序执行速度加快
4,在CPU系统中,为了最大限度的利用多核,可开启多个线程,比开进程开销要小得多
四,多线程的应用
threading模块------完全模仿了threading模块的接口
五,开启线程的两种方式
时间: 2024-10-03 23:18:41