[英]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.