一、并发与并行
并发:对于单CPU的计算机来说,在CPU中,同一时间只能干一件事儿的。为了看起来像是“同时干多件事”,分时操作系统把CPU的时间划分成长短基本相同的”时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个用户使用。由于计算机的处理速度很快,只要时间片的间隔取得适当,那么一个用户作业从用完分配给它的一个时间片到获得下一个CPU时间片,中间有所”停顿”,但用户察觉不出来,好像整个系统全由它”独占”似的。
所以,在单CPU的计算机中,我们看起来“同时干多件事”,其实是通过CPU时间片技术,并发完成的。
说到并发还有一个概念容易引起混淆“并行”
什么是并行?
并行(Parallel),当系统有一个以上CPU时,当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。
并发是两个队伍交替使用一台饮水机。并行是两个队伍同时使用两台饮水机。
二、进程与线程
进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的