线程详解

一、线程引入

os引入进程的目的是:使多个程序能并发执行,以提高资源利用率和系统吞吐量

os引入线程对的目的是:是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性

进程的两个基本属性:1、是一个可独立拥有资源的单位 2、是一个可独立调度和分配的单位。

线程的属性:作为调度和分配的基本单位。

二、进程和线程的区别

1、一个进程里可以包含多个线程,线程是比进程更小的单位

2、 进程是系统分配资源的基本单位,线程是CPU调度的基本单位,进程是程序的一次执行,线程是CPU调度的一次执行

3、进程之间都有自己独立的内存区域,因此进程之间存在通信问题。而线程是共享一组内存区域和资源,因此有可能存在多个线程去读取同个数据出现不一样的情况,因此保证进程之间的同步很重要。

4、线程基本上不拥有资源,只拥有一点在运行中必不可少的资源:寄存器,栈,程序计数器,所以线程在进行切换时消耗远远低于进程。而且线程之间能共享他们之间拥有的所有资源

三、多线程

多线程:指的是在一个进程中有多个线程

多线程编程的目的:充分利用CPU资源,当一个线程进行I/O操作时,可以调用另外一个线程

原文地址:https://www.cnblogs.com/linshuhui/p/9519604.html