在阅读关于Java线程的文章时,我经常注意到:“当前线程是这个对象监视器的所有者”。 我明白了这个意思:线程有权对对象进行操作。 但是我为什么用“对象的监视器”而不是“对象的locking”这个短语呢? 简而言之,我不知道“监视器”这个词的意思。这个问题可能很奇怪,很简单。 但我希望有人能帮助解决它。 3KS
我想监视Linux上特定进程使用的线程数。 有没有简单的方法来获得这些信息,而不会影响过程的性能?
在Java中的并发编程中提到的监视器是什么? 当我读到“每个物体都与监视器相关联”时,这意味着什么? 这是一个特殊的对象吗?
Monitor和Semaphore之间的主要区别是什么?
什么时候在C#中使用Monitor类或lock关键字来保证线程安全? 编辑:从迄今为止的答案看来, lock是Monitor类的一系列调用的简短手段。 locking电话究竟是什么? 或者更明确地说, class LockVsMonitor { private readonly object LockObject = new object(); public void DoThreadSafeSomethingWithLock(Action action) { lock (LockObject) { action.Invoke(); } } public void DoThreadSafeSomethingWithMonitor(Action action) { // What goes here ? } } 更新 谢谢大家的帮助:我已经发布了另一个问题,作为你们提供的一些信息的后续。 由于您似乎熟悉了这方面的知识,所以我发布了这个链接: 这个解决scheme有什么问题来locking和pipe理locking的exception?