锁
zlj7777
这个作者很懒,什么都没留下…
展开
-
自旋锁与互斥锁
内核同步措施(用于linux内核) 为了避免并发,防止竞争。内核提供了一组同步方法来提供对共享数据的保护。 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别。 Linux使用的同步机制可以说从2.0到2.6以来不断发展完善。转载 2011-09-13 15:39:06 · 1193 阅读 · 0 评论 -
Windows 平台下的同步机制 (1)– 临界区(CriticalSection)
Windows 平台下的同步机制 (1)– 临界区(CriticalSection)临界区的使用在线程同步中应该算是比较简单,说它简单还是说它同后面讲到的其它方法相比更容易理解。举个简单的例子:比如说有一个全局变量(公共资源)两个线程都会对它进行写操作和读操作,如果我们在转载 2011-10-08 17:47:17 · 644 阅读 · 0 评论 -
Windows 平台下的同步机制 (2)– 互斥体(Mutex)
Windows 平台下的同步机制 (2)– 互斥体(Mutex)windows api中提供了一个互斥体,功能上要比临界区强大。Mutex是互斥体的意思,当一个线程持有一个Mutex时,其它线程申请持有同一个Mutex会被阻塞,因此可以通过Mutex来保证对某一资源的互斥转载 2011-10-08 17:50:12 · 1621 阅读 · 0 评论 -
Windows 平台下的同步机制 (3)– 事件(Event)
Windows 平台下的同步机制 (3)– 事件(Event)事件对象的特点是它可以应用在重叠I/O(overlapped I/0)上,比如说socket编程中有两种模型,一种是重叠I/0,一种是完成端口都是可以使用事件同步。它也是核心对象,因此可以被waitforsin转载 2011-10-08 17:51:35 · 829 阅读 · 0 评论 -
Windows 平台下的同步机制 (4)– 信号量(Semaphore)
Windows 平台下的同步机制 (4)– 信号量(Semaphore)Semaphore是旗语的意思,在Windows中,Semaphore对象用来控制对资源的并发访问数。Semaphore对象具有一个计数值,当值大于0时,Semaphore被置信号,当计数值等于0时,转载 2011-10-08 17:52:50 · 1382 阅读 · 0 评论 -
同步机制——互斥体锁、读/写锁、信号量锁、条件变量
(区别于linux内核所用的自旋锁和互斥锁,本文中讨论的锁用于普通编程)当两个或多个并发线程的执行次序造成了意想不到的错误结果时,“竞态条件”就是会产生。防止“竞态条件”的一个方法是使用同步机制,对访问“共享资源”的代码中关键段实施“品行访问”控制。常用的OS同步机制有:转载 2011-10-08 17:44:25 · 1707 阅读 · 0 评论