2

我一直在研究多线程编程的一些研究,例如这个学术网页,并注意到Thread为连接到给定服务器的每个客户端创建一个非常流行。事实上,我已经找到了一些可以做到这一点的示例客户端-服务器程序。(我试图采用这个想法,但现在,我很怀疑。)根据 Java:如何编程,建议我使用ExecutorService来创建和管理Threads,因为程序员无法预测 a 何时Thread会被系统,尽管线程创建和启动的顺序。


我打算做什么

如前所述,我正在创建一个Thread为每个客户端创建一个服务器。客户将向我发送数据,然后Thread将获取数据,将其存储在文件中,并记录数据。


我的问题

使用ExecutorServiceto 创建Threads(并管理它们!)实际上与给每个客户一个 s 相同Thread,但更易于管理吗?此外,它会消除著名的“每个客户端一个线程”的想法所造成的开销吗?

4

1 回答 1

1

使用 ExecutorService 创建线程(并管理它们!)实际上与给每个客户端一个 Thread 相同,但更易于管理?

是的

此外,它会消除著名的“每个客户端一个线程”的想法所造成的开销吗?

不。开销通常是根据使用线程池未更改的活动线程数来表示的。

于 2013-08-11T12:37:24.330 回答