为了账号安全,请及时绑定邮箱和手机立即绑定

使用ThreadLocal定义c的问题

c不是线程独有的吗,线程并发计算g各线程独有的c.add,为什么最后c.get时却是个累加的数,不应该都是1吗?

正在回答

3 回答

每个线程中,计算的都是本身进行了add的和。因此,最后把所有的线程中的值取出,求和。就是最后的总和。

0 回复 有任何疑惑可以回复我~

谢谢,我之前不清楚,原来spring一直用线程池里那几个线程来处理请求,也就是这些线程并发处理各自的c+1,最后各自的c加起来就是10000

0 回复 有任何疑惑可以回复我~

在set中存储了各个线程中的值。然后使用java8的流操作,进行合并求和,reduce就是对流中的数据,进行计算。

1 回复 有任何疑惑可以回复我~
#1

慕丝6259181 提问者

谢谢,我之前不清楚,原来spring一直用线程池里那几个线程来处理请求,也就是这些线程并发处理各自的c+1,最后各自的c加起来就是10000
2020-03-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

使用ThreadLocal定义c的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信