gpt4 book ai didi

java - 在Java线程中锁定对象一段时间

转载 作者:行者123 更新时间:2023-11-30 05:09:01 24 4
gpt4 key购买 nike

我需要实现以下场景

  • ThreadN 获取锁
  • ThreadM 尝试获取锁并等待
  • ThreadX(监视器)发现 ThreadN 持有锁的时间过长并释放锁
  • ThreadM 获取锁并继续

ThreadN 的命运并不重要。

我应该使用哪些类(来自 java.util.concurrent?)?

最佳答案

我认为你可以根据Semaphore来实现这个,尽管您必须自己实现监视功能,方法是在获取锁时设置时间戳,定期检查它并在持有锁的时间太长时中断持有锁的线程。

LockSupport类看起来也有帮助。

关于java - 在Java线程中锁定对象一段时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4132529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com