Java并发,在父线程中访问套接字

时间:2011-02-07 15:11:00

标签: java sockets networking concurrency synchronization

我正在开发一个简单的网络客户端/服务器。客户端有一个MainConnection类,它维护与服务器的连接,并根据进入的信息启动工作线程。我希望工作线程通过主连接向服务器发送有关其进度的反馈。我不确定我是否应该在MainConnection中使用公共静态同步方法来发送数据,或者将Session对象传递给包含Socket的线程和用于发送数据的同步方法。

1 个答案:

答案 0 :(得分:2)

您选择哪种设计并不重要。这完全取决于你。您应该关心的唯一事情是避免2个线程同时写入同一个流。因此,您可以创建自己的层,该层由多个线程同步并使用。或者,您可以创建同步输出流并将其传递给所有线程。这可能是最好的方法:在这种情况下,每个线程都知道将内容写入流。知道该流已同步的唯一层是创建它的工厂。