在多核的条件下多线程的好处就是充分利用多核的优势,并发处理任务,提高任务的整体执行效率和执行时间。
原因如下:
如果是单核的话,多线程并非是真的多线程,它是因为cpu分片执行的,通过不同时间片执行不同的线程任务,达到看似“并发”的效果。
假如线程的主要时间是io等待,即便是单核,多线程也是有好处的,可以在一个线程io等待的时候执行别的线程任务,这样也提高了效率。但是如果是纯cpu操作,多线程反而比单线程效率低,因为线程之间的切换也会浪费cpu时间片。
相反在多核的条件下,即便是纯cpu操作,每个cpu执行一个线程,没有线程切换,是真正的“并发操作”,所以效率自然高。