切换到线程执行

提到线程,会想起进程。
把网上的信息整理一下大致是这些总结:
进程是资源分配的基本单位,也是线程执行的模型实例,一个进程能由多个线程组成,共享进程的资源。程序真正运行时,会自动为进程分配资源,占取一定量的cpu时间。
线程是进程的执行流,cpu的调度和分派都是以线程为单位。线程间共享进程的所有资源,每个进程都有自己的局部变量和堆栈空间。多线程能实现并发操作。
线程与进程的利弊:
1.进程有独立的地址空间,而线程是在执行同一个进程是开辟出来的执行单位。正常情况下处理并发,线程成本低,创建进程是很耗费资源的,比如说会在分配新的地址空间,数据库也会创建新的表和字段来维护堆栈空间,代码块,数据表等。所以切换到线程比创建进程成本低也效率高。
2.但是进程间是相互独立的比如说一个进程失败了,并不影响其他进程的使用,但是线程就不一样了,一个线程失败了所有的线程都宕机了。
3.线程间共享资源,通讯方便,但是进程相对独立,需要用通讯的方式传递。

所以并发情况下,怎么协同好进程里的多线程关系实现是最重要的。
下面举例一段线程:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/FindStar_ing/article/details/88246864