- 在什么情况下单线程比多线程效率高?
这个问题需要根据几个方面综合考虑,比如服务器配置,应用主要做什么操作。分析如下:
第一,你的服务器主机是不是单核的,如果是的话,那么一般来说单线程要比多线程要快,前提条件是你的io操作不特别耗时,如果耗时的话,那么就不一定了,因为这段时间CPU是空闲的。
第二,是计算密集还是io密集,如果是计算密集的话,单线程要比多线程快,就比如Redis就是单线程的,基本都是操作内存。但是如果任务可拆分,且主机支持多核,那仍然建议多线程
第三,服务器是多核的话,那么就要充分利用多线程的优势了,正常情况,单线程是比不上的。
希望我的回答对你有所帮助。