2011-02-07 38 views
1

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

回答

2

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