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

线程安全的问题,知道的给说下,谢谢

线程安全的问题,知道的给说下,谢谢

长风秋雁 2018-12-06 18:47:12
根据线程安全的相关知识,分析一下代码,当调用test方法时i>10时是否会引起死锁?并简单说明理由 public void test(int i) { lock (this) { if (i > 0) { i--; test(i); } } } (有知道的给说下,谢谢)
查看完整描述

2 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

你的问题描述的不够清楚,但是我可以告诉你这段代码不会出现死锁。 原因:只会出现资源竟用的问题,你lock(this){}对于单个线程(如A1)是可以重入的,即进入的线程A1可以无限调用lock(this){}。但是因为lock资源独占的问题,所以在A1没有完全退出lock(this){}块之前别的线程是无法进入lock(this){}临界区的
查看完整回答
反对 回复 2018-12-09
  • 2 回答
  • 0 关注
  • 234 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信