不对,楼上那个叫并行。
并发指的是:房子只能同时有1个人盖,但是每个人都想盖,那就排队每人1小时,然后排最后的人将要等23小时,这是何等巨大的延迟?那么换个方案,每人上去盖1分钟就换人,这样一来,每个人只需要23分钟就可以过把瘾,然后24小时后(基本上会更多)建造完成,这样看起来每个人只实际干了1个小时,但却花去了整整一天,这种方式叫“时间片轮转调度”。可见,并发不是为了提升效率,而是为了让某个工作尽快开始,减少延迟,尽量公平。
那我们为什么还要用多线程?这是因为编程语言会对线程调度进行优化,每个人手上都有一摞砖,用完了就要去搬,当前一个人离开去搬砖的时候,后一个人会赶紧补位,绝不让房子闲着,通过提高资源利用率的手段来间接提高效率,这种手段通常会因为硬件问题起反作用。

总而言之,多线程不等于高效率。
以上所有言论基于单CPU
而并行是通过增加硬件的方式真正实现同时工作以增加效率。
个人理解,请路过的高人指正。