Thread A
は、10のクライアントから渡されたデータの合計です。彼らは生きているのかいない(ハートビート技法)であるかどうか どのように2つのスレッドが互いに通信できますか?
while(true){
Socket clientfd= server.accept();
BufferedReader message = new BufferedReader(new InputStreamReader (clientfd.getInputStream()));
String val = message.readLine();
this.sum_data+=(message.readLine();
message.close();
clientfd.close();
this.left--;
if(this.left==0){
System.out.println(this.sum_data);
break;
}
}
Thread B
クライアントは時々失敗することがあります。その場合、データを集計しているスレッドは、生きているクライアントからのすべての可能な結果を印刷するだけです。それ以外の場合は、決して結果を出力しません。
したがって、ハートビートスレッドが1つのクライアントから応答していないことに気づいた場合、他のスレッドに伝える方法がありますか(または他のスレッドのクラス変数this.left
を変更する方法はありますか)。
- 共有メモリ 共有メモリのアプローチでは
は、あなたがAA同期リストを作成することができますベースの