java如何进行线程的通信_java – 2个线程如何相互通信?

线程A总结了从10个客户端传递的数据.

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;

}

}

线程B不断与客户沟通,无论他们是否活着(心跳技术).

问题是客户端有时会失败,在这种情况下,总结数据的线程应该只打印出来自活动客户端的所有可能结果.否则,它将永远不会打印出结果.

所以,如果heartbeat线程注意到一个客户端没有响应,有没有办法让它告诉另一个线程(或更改其他线程的类变量this.left)?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值