从逻辑的角度来看,应用程序可能需要数十个或数百个线程,其中大部分时间我们大多数时候都处于休眠状态,但是很少有线程会始终并发运行。问题是:产生比系统中的处理器更多的并发线程是否有意义,还是浪费?
我已经看到一些服务器应用程序实现了调度程序以逻辑地管理任务(通常称为作业),但也产生了很多线程,因此我看不出这样做的好处。
提前致谢。
最佳答案
当然。如果您的软件频繁使用磁盘或网络IO,则通常可以通过添加更多线程来提高吞吐量。当其他线程阻塞IO时,这些额外的线程将保持清醒状态并开始工作。
关于multithreading - 每个处理器产生多个线程是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/503551/