multithreading - 为什么名称为 "monitor"?

标签 multithreading concurrency synchronization monitor mutual-exclusion

我指的是这里描述的监视器:

http://en.wikipedia.org/wiki/Monitor_(synchronization)

这里的定义似乎都不合适:

http://www.thefreedictionary.com/monitor

那他们为什么这么叫呢?

== 更新 ==

谢谢大家的解答!

我想我很困惑,因为我不认为监视器通常会作用于自己,这似乎是这里发生的事情。例如,您使用婴儿监视器来监视婴儿。我只是认为让婴儿监控自己没有多大意义,但我可能是错的。

最佳答案

根据 P. Brink Hansen 在 Monitors and Concurrent Pascal: A personal history 中的说法,该名称起源于 60 年代和 70 年代初操作系统的原始术语:

In the 1960s the resident part of an operating system was often known as a monitor. The kernel of the RC 4000 multiprogramming system was called the monitor and was defined as a program that "can execute a sequence of instructions as an indivisible entity" (Brinch Hansen 1969).

关于multithreading - 为什么名称为 "monitor"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/573998/

相关文章:

java - 使用 ConcurrentHashSet 时的线程安全引用分配

带有错误处理的 C# Task.WaitAll() 取消

c++ - std::condition_variable 多次调用 notify_all

c++ - 使用 Boost 的 C++ 中的多线程之谜

java - 多线程同步

java - java.util.concurrent.ScheduledThreadPoolExecutor 的 Spring 版本

java - 优先级队列什么时候会调用元素的compareTo?

go - 如何在程序运行时安全地交换内存映射?

Java 同步方法和 block

java - 如何轮流监听两组线程获取synchronized section?