以下整理关于进程,线程相关的概念及知识,以备记忆。
参考链接:
https://www.zhihu.com/question/271821176?sort=created
https://blog.csdn.net/qq_22847457/article/details/89371217
线程:
1、轻量级的进程(light weight process (lwp))
2、Linux系统中,线程是最小的执行单位,调度的基本单位
3、同一进程下的多个线程是共享地址空间的(*进程是独享地址空间)
进程:
1、进程是程序的副本,程序的一次执行
2、进程是系统分配资源的最小单位
并发:
同一时刻只能有一条指令执行,但有多个进程指令被快速轮换执行,使得在宏观上有多个进程 被同时执行的效果。
(当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。这种方式我们称之为并发(Concurrent)。)
并行:
并行是对多核处理器而言的,同一时刻有多条指令能够同时执行。
(当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,线程之间互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。)
线程同步:
同步即协同步调,按预定的先后顺序运行。
线程同步:指一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回。同时其他线程为保证数据一致性,不能调用该功能。
互斥: