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