休眠线程和等待线程消耗多少资源
我想知道,在java 1.6 x64中有许多线程处于等待状态是多么昂贵。
更具体地说,我正在编写应用程序,该应用程序可以在许多计算机上运行,并从一台计算机发送/接收数据到另一台计算机。我觉得为每个连接的机器和任务使用单独的线程更舒服,例如1)发送数据,2)接收数据,3)在断开连接时重新建立连接。因此,假设群集中有 N 个节点,则每台计算机将有 N-1 个邻居中的每一个 3 个线程。通常将有 12 台计算机,即 33 个通信线程。
这些线程中的大多数大部分时间都处于休眠状态,因此出于优化目的,我可以减少线程数并为每个线程提供更多作业。例如,例如。重新建立连接是接收线程的责任。或者发送到所有连接的计算机是通过单个线程完成的。
那么,拥有许多休眠线程是否有任何显着的性能影响?