我听说在多核服务器上的linux下,只有1个进程但有多个线程是不可能达到最高性能的,因为Linux在IO上有一些限制,因此在8核服务器上只有1个进程有8个线程慢于8个进程。
任何意见?还有其他限制可能会使应用程序变慢吗?这些应用程序是一个网络C ++应用程序,可为数百个客户端提供服务,并带有一些磁盘IO。
更新: 我担心除了我自己实现的锁定以外,还有更多与IO相关的问题…在多个线程中同时进行网络/磁盘IO时是否没有问题?
线程数:
mmap()
open()
accept()
fcntl()
fd
malloc()
free()
SIGSEGV/PIPE