问题标签 [reentrantlock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在文件方法上运行线程
嗨,我尝试在我的“threadedSort”上运行一个线程,但我不能使用传统的 void 运行方法,因为它返回 void。我也尝试使用同步方法,但我认为它没有任何区别......与可重入方法相同,我不知道我做错了什么。
java - 在java中使用重入锁限制对共享数据的访问
我有一个简单的要求,其中一个资源(比如说一个链表)在两个服务之间共享:一个向它添加元素,另一个计算它的统计信息。我想在java中使用可重入锁。我想出了以下解决方案。
还有比这更好的解决方案吗?
}
唯一强制性的事情是不应该错过任何调用(加法器或计算器)。
java - ReentrantLock 是否足够安全以保护对静态变量的多线程访问
我有一个带有静态变量的类,并且多个线程将具有该类的实例。
我关心的静态变量是 a Thread
,它将从队列中弹出一条消息并通过电子邮件发送,直到队列为空。每次将消息添加到队列时,我都会检查线程是否处于活动状态。如果没有,我重新启动它。
在另一个问题中,据说静态变量应该在同步块中使用。
我的问题是,将 aReentrantLock
用于这些 if 检查是否安全?还是我需要使用synchronized
?或两者?
java - ReentrantReadWriteLock 是否实现为自旋锁?
如何ReentrantReadWriteLock
工作?是自旋锁吗?
问题来自 Elasticsearch,当它显示
在所有快照中的热线程中,cpu 使用率同时很高。它看起来像自旋锁。
java - 为什么 ConcurrentHashMap 在 computeIfAbsent 中使用“同步”
在 ConcurrentHashMap 的“computeIfAbsent”方法中有代码:
为什么不使用“可重入锁”?
java - Reentrantlock 在 Java 中工作正常,但在 Scala 中导致 IllegalMonitorException
我想迁移一个 Java 函数
Scala中的相同功能:
LOCK.unlock()
总是导致 IllegalMonitorStateException 。我看不出发生这种情况的任何原因。
谁能告诉我问题出在哪里?
java - Java在不同线程上锁定和解锁
我有一个主线程和一个工作线程。主线程将任务添加到队列中,工作线程将它们带到计算数据中。在将对象放入队列之前,我在任务对象内的ReentrantLock 对象(在主线程上)上调用 lock。当工作线程完成处理队列中的任务时,我调用解锁(在工作线程上)。问题是我得到一个 IllegalMonitorStateException 因为我在不同的线程上调用 lock 和 unlock 。
我正在寻找可以在不同线程上执行此操作的替代锁定系统。
例子:
java - Java 5 中的 Lock 和 ReentrantLock 有什么区别?
我不明白他们之间的区别。我认为来自锁接口的锁也是可重入的,那么它们之间有什么区别?你什么时候使用每个?
java - ReentrantLock 不等待锁释放
为什么在获得锁控制后会进入第二个 lock.lock() 语句?难道它不应该无限期地等待第二个锁定语句来获取它吗?
是因为我在单线程中获得锁吗?
输出: