内核对象与线程同步的关系

26 篇文章 1 订阅
7 篇文章 0 订阅
本文详细阐述了进程、线程、作业、文件、控制台输入、文件修改通知、等待对象(事件、定时器、信号量、互斥对象、关键代码段)等在不同状态下的转换及其对系统的影响。重点讨论了同步和通信机制,包括事件、定时器、信号量和互斥对象在确保资源安全和避免死锁中的作用。
摘要由CSDN通过智能技术生成
对象何时处于未通知状态何时处于已通知状态成功等待的副作用
进程(Process)当进程仍然活动时

当进程终止运行时

(ExitProcess 或 TerminateProcess)

线程(Thread)当线程仍然活动时

当线程终止运行时

(ExitThread 或TerminateThread)

作业当作业的时间尚未结束时当作业的时间已经结束时
文件当I/O请求正在处理时当I/O请求处理完毕时
控制台输入不存在任何输入当存在输入时
文件修改通知没有任何文件被修改当文件系统发现修改时重置通知

自动重置事件

ResetEvent或PulseEvent,

或等待成功

当调用SetEvent或PulseEvent重置事件

人工重置事件

ResetEvent或PulseEvent当调用SetEvent或PulseEvent
自动重置等待定时器

CancelWaitableTimer

或等待成功

当时间到时(SetWaitableTimer)重置定时器

人工重置等待定时器

(CreateWaitableTimer)

CancelWaitableTimer当时间到时(SetWaitableTimer)
信号量(Semaphore)等待成功当信号量>0时 (ReleaseSemaphore)信号量递减1
互斥对象(Mutex)等待成功当未被线程拥有时(releaseMutex)将所有权赋予线程
关键代码段(用户态)

等待成功

((Try)EnterCriticalSection)

当未被线程拥有时(LeaveCriticalSection)将所有权赋予线程

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值