![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
互斥锁
金色熊族
这个作者很懒,什么都没留下…
展开
-
轻量锁与重量锁的思考
不论是linux还是windows,操作系统都提供轻量和重量两种锁。在windows上,CRITICAL_SECTION(临界区)是轻量的,Mutex是重量的;在linux上,futex是轻量的,而pthread_mutex_t是重量的。根据Jeff Preshing 在他的博客Always Use a Lightweight Mutex上的测试,windows上的临界区比mutex快~25倍。这是因为mutex的调用要进入内核,而临界区不会。当然,临界区的劣势是它不可以在进程之间协调。但是,只要你的程序是原创 2021-11-28 18:48:54 · 261 阅读 · 0 评论 -
自旋锁和互斥锁的区别
转自 https://www.jianshu.com/p/a7f349ddcf82 自旋锁是一种互斥锁的实现方式而已,相比一般的互斥锁会在等待期间放弃cpu,自旋锁(spinlock)则是不断循环并测试锁的状态,这样就一直占着cpu。 互斥锁:用于保护临界区,确保同一时间只有一个线程访问数据。对共享资源的访问,先对互斥量进行加锁,如果互斥量已经上锁,调用线程会阻塞,直到互斥量被解锁。在完成了...转载 2020-04-24 21:55:00 · 570 阅读 · 0 评论 -
自己对互斥和同步的理解
拿下棋做例子。红棋走棋的时候,黑棋不能走,这是互斥;但是红棋走一步,下一步必须黑棋走,反之亦然,这是同步。原创 2016-11-19 15:32:51 · 644 阅读 · 0 评论