今天给大家介绍一下,什么是线程,什么是进程,这两者之间的优缺点,又有什么关联,希望通过这一篇文章给大家带来一丢丢的帮助,
一:先来说说,什么是线程,什么是进程。
1、进程:进程是系统进行资源分配和调度的一个独立单位
2、线程: 线程是进程的一个实体,是CPU调度和分派的基本单位,线程自己基本上不拥有系统资源,只拥 有一点在系统运行中必不可少的资源,但是它可与同属一个进程的其他线程共享进程所拥有的全部资源
二:
再来说说两者之间的关系:
1、一个线程可以创建和撤销另一个线程,同一个进程中的多个线程可以同时并发执行,他可以与同进程中的其他
线程共享数据,但拥有自己的栈空间,拥有独立的执行顺序
2、
一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
3、资源分配给进程,同一进程的所有线程共享该进程的所有资源。
4、处理机分给线程,即真正在处理机上运行的是线程。
5、线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
三:
最主要的还是他们俩的区别:
1、 他们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,不会对其
他进程产生影响。
2、线程只是一个进程中不同的执行路径,线程有自己的堆栈和局部变量,线程之间没有单独的地址空间,一
个线程死掉就等于整个进程死掉, 所以多线程的操作要比多进程的程序健壮。 但在进程切换时耗
费资源较大,效率要差一些。对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,
不能用进程,(因为进程在切换时耗费的资源要大一些,效率差一些)
3、
进程是表示资源分配的基本单位,又是调度运行的基本单位。
4、
线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。
四:
线程的优点:
1、易于调度。
2、提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。
3、 开销少。创建线程比创建进程要快,所需开销很少。
4、利于充分发挥多处理器的功能。通过创建多线程进程(即一个进程可具有两个或更多个线程),每个线
程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分运行。