社区
进程/线程/DLL
帖子详情
对共享资源进行临界保护(用CriticalSection),有什么影响?
rockrabbit
2004-09-06 04:56:04
比如,两个线程A、B,一个共享的整型变量x(可能为1或者0)。
A线程设置x=1。B线程检查x,当x=1时,执行某项操作,然后设置x=0。
想问的是:
当A线程设置x=1时(在临界保护状态),假设同时B线程开始读取x的值,此时会出现什么结果:B的代码会被阻塞、直到A中退出临界保护状态?还是B中出现失败或者错误,程序继续往下执行?
...全文
124
4
打赏
收藏
对共享资源进行临界保护(用CriticalSection),有什么影响?
比如,两个线程A、B,一个共享的整型变量x(可能为1或者0)。 A线程设置x=1。B线程检查x,当x=1时,执行某项操作,然后设置x=0。 想问的是: 当A线程设置x=1时(在临界保护状态),假设同时B线程开始读取x的值,此时会出现什么结果:B的代码会被阻塞、直到A中退出临界保护状态?还是B中出现失败或者错误,程序继续往下执行?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rockrabbit
2004-09-07
打赏
举报
回复
谢谢,明白了。
arvid_gs
2004-09-06
打赏
举报
回复
B的代码会被阻塞、直到A中退出临界保护状态
oyljerry
2004-09-06
打赏
举报
回复
线程B将挂起,等待线程A退出临界区,然后,线程B进入临界区
DentistryDoctor
2004-09-06
打赏
举报
回复
如果B的代码与在临界区内,B的代码会被阻塞、直到A中退出临界保护状态.否则会直接读到值的,但值可能不正确。
vc++中使用
临界
区
Criti
ca
lS
ect
ion
来多线程互斥使用资源
为了解决这个问题,开发者可以使用
临界
区(
Criti
ca
lS
ect
ion
)机制来实现线程互斥,确保同一时间只有一个线程能访问特定的
共享资源
。本文将深入探讨VC++中
临界
区的使用方法,并通过一个例子
进行
说明。
临界
区是一种...
临界
区(
Criti
ca
l S
ect
ion
)的封装和使用示例
临界
区(
Criti
ca
l S
ect
ion
)是多线程编程中一个重要的概念,它用于
保护
共享资源
免受并发访问的
影响
,确保在任何时候只有一个线程可以执行特定的代码块。在本示例中,我们将深入探讨
临界
区的封装和使用,以及如何通过...
Criti
ca
lS
ect
ion
.rar_
Criti
ca
lS
ect
ion
_线程
临界
区
线程
临界
区(
Criti
ca
lS
ect
ion
)是Windows操作系统提供的一种同步机制,用于
保护
共享资源
免受并发访问的
影响
。
临界
区的概念源于多线程编程,当多个线程同时运行时,可能会导致数据的不一致性或竞争条件。为了解决这些...
Criti
ca
lS
ect
ion
.rar_
Criti
ca
lS
ect
ion
- 可能会有一些示例用法,展示如何在多线程环境中使用
临界
区
保护
共享资源
。 通过学习和分析这个示例项目,开发者可以深入理解
临界
区的工作原理,掌握在Windows环境下如何使用
临界
区API来实现线程同步,并在实际项目...
pthread和win32的
临界
区
Criti
ca
l S
ect
ion
比较
临界
区是指一段代码,这段代码在同一时间只能由一个线程执行,以确保对
共享资源
的互斥访问。在Windows中,
临界
区通过`Enter
Criti
ca
lS
ect
ion
`和`Leave
Criti
ca
lS
ect
ion
`函数来进入和退出
临界
区;而在POSIX线程库...
进程/线程/DLL
15,467
社区成员
49,170
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章