Java多线程系列(二)管程(Monitors)概念

管程(monitors)作为一种程序机构,允许多个工作线程互斥访问共享资源,如硬件装置或变数群,确保同一时间仅有一个线程执行其子程序。此概念由东尼·霍尔与泊·派克·漢森提出,被证实与信号量等价,广泛应用于ConcurrentPascal等语言。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考wiki的链接:                             https://zh.wikipedia.org/wiki/%E7%9B%A3%E8%A6%96%E5%99%A8_(%E7%A8%8B%E5%BA%8F%E5%90%8C%E6%AD%A5%E5%8C%96)

以下段落摘自wiki百科:

管程(monitors,也称为监视器)是一种程序机构,

结构内的多个子程序(对象或模块)形成的多个工作线程互斥访问共享资源。

这些资源一般是硬件装置或一群变数。

管程实现了在一个时间点,最多只有一个线程在执行管程的某个子程序。

与那些通过修改数据结构实现互斥访问的并发程序相比,管程实现很大程度上简化了程序设计

-----------------------------------------------

管程是东尼·霍尔 [1] 与泊·派克·漢森 [2]提出的,并由泊·派克·漢森首次在并行Pascal中实现。东尼·霍尔证明了這與信号量是等價的。管程在当时也被用于單作業系統环境中的进程間通訊。

在程式語言Concurrent PascalPascal-PlusModula-2Modula-3Mesa以及Java中都提供這個功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值