并发和并行是多线程中比较重要的两个概念

并发

一句话总结,微观看是串行的,宏观上看感觉是并行的。在单核cpu中所有的线程之间是并发执行的,cpu执行任务时在多个线程之间连续切换,给人的感觉这些线程是同时在执行,实际上同一时刻只有一个线程在运行

并行

在多核cpu中,因为有多个核心,所以同一时刻不同的核心可以去执行不同的线程,所以同一时刻会有多个线程在执行,这就是并行。

但实际上因为cpu的核心数肯定要少于实际要运行的线程数,所以在多核系统中也会有并发,即并发和并行同时存在。

多线程能否提高效率

如果是单核cpu,因为多个线程只能并发执行,所以并不能提高效率;

只有多核cpu中多线程才能提高效率。