对临界区对象的一点感悟

本文介绍了多线程环境下临界区对象的应用,强调了同一时刻仅允许一个线程访问共享资源的原则,并通过电话与自动柜员机的例子说明了如何正确使用多个临界区对象。同时提醒开发者注意线程死锁的风险。

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

临界区对象

1. 多线程中,在所有使用(同一个)临界区对象的地方,同一时刻只能有一个地方被执行。


2. 程序中使用多个临界区对象的用途。举个例子,比如有两个需要保护对象分别为电话和自动柜员机(ATM机),在对这两个对象进行访问的时候,我们都使用临界区对象进行保护,以便在同一时刻只有一个地方可以访问电话(或者自动柜员机)。当然,访问电话和自动柜员机并不会矛盾,我们可以便访问自动柜员机的同时打电话。也就是说,在同一个时刻,我们可以在一个地方使用电话,而在另一个地方使用自动柜员机;但是在同一个时刻只能有一个地方可以使用电话,同一个时刻只有一个地方可以使用自动柜员机。


3. 当使用多个临界区对象的时候,线程死锁的问题就易出现了,需谨慎。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值