请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

锁的获取时间

老师,如果线程A获取了锁并且占用了很长时间(比如需要调用的方法耗时长),线程B一直获取不到,怎么解决这种问题噢?

正在回答 回答被采纳积分+3

1回答

翔仔 2023-02-22 23:44:27

同学好,如果说synchronized这种的话就得看看情况了,是不是锁范围太大了,如果是,设小点。如果没法设小,只能分析下性能,看看是否有优化空间,统计超时等待的次数看看是否能接受,如果无法调优,看看能否做成离线跑。

0 回复 有任何疑惑可以回复我~
  • 提问者 MengMengdacw #1
    离线跑是什么意思呀?
    回复 有任何疑惑可以回复我~ 2023-02-22 23:46:56
  • 提问者 MengMengdacw #2
    synchronized只能等方法执行完才能自动解锁嘛?可以设置超时时间嘛
    回复 有任何疑惑可以回复我~ 2023-02-22 23:48:10
  • 翔仔 回复 提问者 MengMengdacw #3
    不行的,只能自己实现或者改别的方式了。https://blog.csdn.net/oJueQiang123456/article/details/99574743
    
    离线跑就是说半夜起定时任务去扫,这样对性能没要求
    回复 有任何疑惑可以回复我~ 2023-02-27 21:21:46
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信