先回答**为什么cpu需要多线程--并发**
1.单核cpu 同一时间只能执行1个线程,**为防止线程阻塞(死掉),进而浪费cpu算力**,设计成多线程。脱离线程阻塞,cpu多线程没有意义。
1.1cpu分时机制
操作系统将cpu划分成时间大致相同的时间片,操作系统管理时间片给各个线程使用,如果某个线程超过时间片后,没有执行完(或者阻塞),cpu被释放,进行下一个进程的处理。
1.2线程阻塞
线程阻塞通常是指一个线程在执行过程中暂停,以等待某个条件的触发。
cpu利用分时机制,按照时间进行分段,到达
2.当然,多线程运行,还会使多个程序同时运行,使用性更好。
**进程与线程的关系**
进程是一个执行任务 ,一个进程至少有一个线程,但可以有多个线程,共享进程的栈,方法区资源,每个线程也都有自己的虚拟机栈,本地方法区、程序计数器(用于记录线程切换时的结果,便于知道上次cpu算到哪了)。线程也是轻量级进程。
网友评论