一、进程
刘大胖打开电脑,想写点东西,于是打开WPS,突然又想和女朋友(反正我不信)聊聊天,就又打开了微信PC端,这时操作系统就会为这两个程序生成两个进程,如图:
二、线程
每个进程至少包含一个线程,线程是CPU调度和执行的基本单位,WPS中可以一边接收文字输入、一边自动保存,这时会有两个进程,如图:
三、并发
刘大胖在WPS中输入文字,程序自动保存,但并没有出现卡顿,这是因为CPU在执行多线程的时候采用时间分片,由于CPU切换非常快,刘大胖才感觉不到卡,其实某一个时间点上CPU只会执行一个线程,这种多个线程切换执行就叫做并发,如图:
四、并行
刘大胖最近升级了电脑的CPU,从一个核升到了两个核,这样执行多线程的时候CPU就可以两个核一块执行了,这就是并行,如图:
五、总结
- 进程:其实是操作系统对一个正在运行的程序的一种抽象
- 线程:线程是CPU调度的最小单位,是在线程内实现多任务的保证
- 并发:一个CPU核心通过时间切换执行多个线程
- 并行:多个CPU核心同时执行多个线程
更多精彩内容,可关注我的公众号