gpt4 book ai didi

java - 每个客户端一个线程是答案吗?

转载 作者:行者123 更新时间:2023-11-30 11:29:41 27 4
gpt4 key购买 nike

我一直在研究多线程编程的一些研究,例如 this academic webpage , 并注意到为连接到给定服务器的每个客户端创建一个 Thread 是非常流行的。事实上,我已经找到了一些可以执行此操作的示例客户端-服务器程序。 (我试图采纳这个想法,但现在,我有疑问。)根据 Java: How to Program,建议我使用 ExecutorService 来创建和管理 Threads,因为程序员无法预测 Thread 何时会被系统实际调度,不管线程的创建和启动顺序如何。


我打算做什么

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


我的问题

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

最佳答案

Would using the ExecutorService to create Threads (and manage them!) be effectively the same as giving each client a Thread , but more manageable?

是的

Also, would it eliminate the overhead caused by the famous "one-thread-per-client" idea?

没有。开销通常是 Activity 线程的数量,使用线程池不会改变。

关于java - 每个客户端一个线程是答案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18171916/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com