并行编程中的同步机制详解
1. 死锁学习资源
若想深入了解死锁及其解决方法,可访问 The Deadlock Empire 网站 ,在该网站能通过游戏探索此主题。
2. 其他锁定机制
操作系统为应用程序提供的同步机制不止临界区,还有其他在不同场景下更适用的方法。在 Delphi 中,多数机制被封装在与系统无关的包装器里,实现在 System.SyncObjs 单元中。
2.1 互斥体(Mutex)
- 特点 :互斥体与临界区类似,用于保护对关键资源的访问。不同的是,临界区只能在一个程序的线程间共享,而互斥体可以有名称,两个或多个程序能创建同名互斥体,以此访问同一时间只能被一个程序安全使用的共享资源(如文件)。
- 使用方法 :通过
TMutex类实现,其 API 与TCriticalSection相同。创建互斥体后,调用Acquire访问并锁定,调用Release解锁。 - 性能 :无名称的互斥体只能在一个程序内使用,功能等同于临界区,但锁定速度比临界区慢得多。如
IncDec演示所示,使用互斥体锁定(通过“MT with mutex”
超级会员免费看
订阅专栏 解锁全文
791

被折叠的 条评论
为什么被折叠?



