多线程
1、当前的操作系统都是多任务OS
2、每个独立执行的任务就是一个进程
3、OS将时间划分为多个时间片(时间很短)
4、每个时间片内将CPU分配给某一个任务,时间片结束,CPU将自动回收,在分配给另外任务。从外部看,所有任务是同时在执行,烦死在CPU上,任务是按照串行一次运行(单核CPU)。如果是多核,多个进程任务可以并发进行。但是在单核史昂,多进程只能串行执行
-多进程优点
1、可以运行多个任务
2、程序因IO堵塞时,可以释放CPU,让CPU为其他程序服务
3、当系统有多个CPU时,可以为多个程序同时服务
CPU不在提高频率而是提高核数,多核和冰雪程序才是提高程序性能的唯一办法
-多进程的缺点
串行程序是指智能在单核上运行,无法利用多个CPU
并行程序是指可以利用多个计算核运行,加快计算速度
1、笨重,不好管理
2、不好切换
多线程
1、一个程序可以包括多个子任务,可串行并行
2、每个子任务可以称为一个线程
3、如果一个子任务阻塞,程序可以将CPU调度另外一个子任务进行工作,这样CPU还是保留在本程序中,而不是被调度到别的程序去。这样提高本程序所获得CPU时间和利用率
多进程VS多线程
1、线程共享数据,
2、线程通讯更高效
3、线程更轻量级,更容易切换
4、多个线程更容易管理
多进程
publ