要理解并发和并行,我们首先要理解线程和进程:
正在运行的程序(软件)就是一个独立的进程。 线程是属于进程的,一个进程中可以同时运行很多个线程。 进程中的多个线程其实是并发和并行执行的。
并发:进程中的线程是由CPU负责调度执行的,但CPU能同时处理线程的数量有限,为了保证全部线程都能往前执行,CPU会轮询为系统的每个线程服务,由于CPU切换的速度很快,给我们的感觉这些线程在同时执行,这就是并发。要记住一个点——并发并不是同时执行
并行:在同一个时刻上,同时有多个线程在被CPU调度执行。并行是真正的在同时执行。
并发和并行是同时进行的!
总结一下怎么区分并发和并行:行(并行)是行(同时执行的),发(并发)不是行(同时执行的)—— 行是行,发不是行。