线程我们在前文已经解释过了,那什么又是线程,
线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。
我们可以看出进程包含线程,那么他两有什么叙别和联系呢?
1. 进程和线程
- 1. 多个进程内存是独立的,隔离开的。一个进程中的多线程可以共享内存;
- 2. 进程是系统分配资源的最小单位;线程是系统调度CPU执行法的最小单位;
- 3. 线程的创建于销毁代价比进程小;
- 4.线程可能会造成进程挂掉;但是进程是独立运行的。
线程基于进程优势:
- (1)提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。
- (2)开销少。创建线程比创建进程要快,所需开销很少。。
- (3)利于充分发挥多处理器的功能。通过创建多线程进程(即一个进程可具有两个或更多个线程),每个线程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分运行;充分利用CPU的资源,提高执行效率;
缺点:
- (1)增加了编码复杂程度;
- (2)开销更大了。随意哦一般用于执行耗时较长的任务。