2011-02-07 35 views
1

我正在開發一個簡單的網絡客戶機/服務器。客戶端有一個MainConnection類,它維護到服務器的連接並基於進入的信息啓動工作線程。我希望工作線程通過主連接將其進度反饋發送到服務器。我不確定是否應該在MainConnection中使用公共靜態同步方法來發送數據,或將Session對象傳遞給包含Socket和用於發送數據的同步方法的線程。Java併發性,在父線程中訪問套接字

回答

2

您選擇哪種設計並不重要。這真的取決於你。您應該關心的唯一事情是避免2個線程同時寫入同一個流。所以,你可以創建自己的同步層,並被多個線程使用。或者,您可以創建同步輸出流並將其傳遞給所有線程。這可能是最好的方法:在這種情況下,每個線程只知道將東西寫入流中。知道該流是同步的唯一層是一個創建它的工廠。