簡體   English   中英

每個客戶一個線程是答案嗎?

[英]Is one Thread per Client the answer?

我一直在研究一些有關多線程編程的研究,例如該學術網頁 ,並注意到為連接到給定服務器的每個客戶端創建一個Thread非常流行。 實際上,我已經找到了一些用於此目的的示例客戶端服務器程序。 (我嘗試采用這種想法,但是現在,我對此表示懷疑。)根據Java:如何編程,建議我使用ExecutorService創建和管理Thread因為程序員無法預測何時實際會出現Thread盡管創建和啟動線程的順序仍然由系統調度。


我打算做什么

如前所述,我正在創建一個為每個客戶端創建Thread的服務器。 客戶端將數據發送給我, Thread將獲取數據,將其存儲在文件中,並記錄數據。


我的問題

使用ExecutorService創建Thread (並對其進行管理!)是否與為每個客戶端提供Thread ,但是更易於管理? 另外,是否可以消除由著名的“每個客戶端一個線程”的想法引起的開銷?

使用ExecutorService創建線程(並管理它們!)是否與為每個客戶端提供Thread相同,但是更易於管理?

另外,是否可以消除由著名的“每個客戶端一個線程”的想法引起的開銷?

沒有。 開銷通常是根據活動線程數確定的,使用線程池不會更改這些線程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM