私のアプリケーションは次のようになります。
public class Server {
private InititationServer initServer;
private ArrayList<Socket> workerSockets;
public Server() {
workerSockets = new ArrayList<Socket>();
initServer = new InitiationServer();
(new Thread(initServer)).start();
}
public static void main(String[] args) {
new Server();
}
//...
}
と
public class InitiationServer implements Runnable {
private ServerSocket initSocket;
//...
public void run()
while (true) {
Socket workerSocket = initSocket.accept();
// Add workerSocket to Server.workerSockets
}
}
//...
}
InititationServer は Runnable と ServerSocket.accept() の受信ソケットを run() に実装します。これらの受け入れられたソケットをスレッドセーフな方法で Server.workerSockets に戻すにはどうすればよいですか?
どんな助けでも大歓迎です。