我一直在研究多线程编程的一些研究,例如这个学术网页,并注意到Thread
为连接到给定服务器的每个客户端创建一个非常流行。事实上,我已经找到了一些可以做到这一点的示例客户端-服务器程序。(我试图采用这个想法,但现在,我很怀疑。)根据 Java:如何编程,建议我使用ExecutorService
来创建和管理Thread
s,因为程序员无法预测 a 何时Thread
会被系统,尽管线程创建和启动的顺序。
我打算做什么
如前所述,我正在创建一个Thread
为每个客户端创建一个服务器。客户将向我发送数据,然后Thread
将获取数据,将其存储在文件中,并记录数据。
我的问题
使用ExecutorService
to 创建Thread
s(并管理它们!)实际上与给每个客户一个 s 相同Thread
,但更易于管理吗?此外,它会消除著名的“每个客户端一个线程”的想法所造成的开销吗?