锁
DIY-GEEKER
若有恒,何必三更眠五更起;最无益,莫过一日曝十日寒
展开
-
自旋锁(spin lock)与互斥量(mutex)的比较
自旋锁是一种非阻塞锁,也就是说,如果某线程需要获取自旋锁,但该锁已经被其他线程占用时,该线程不会被挂起,而是在不断的消耗CPU的时间,不停的试图获取自旋锁。互斥量是阻塞锁,当某线程无法获取互斥量时,该线程会被直接挂起,该线程不再消耗CPU时间,当其他线程释放互斥量后,操作系统会激活那个被挂起的线程,让其投入运行。两种锁适用于不同场景:如果是多核处理器,如果预计线程等待锁的时转载 2014-06-09 07:15:01 · 739 阅读 · 0 评论 -
锁的本质
锁的本质,就是一种原创 2014-07-21 21:54:34 · 2464 阅读 · 3 评论 -
条件变量&互斥锁的使用
线程间的同步技术,主要以互斥锁和条件变量为主. 这是为了避免多线程调度,对数据的修改产生不同步,从而导致条件变量失效的情况。 void *threadone(void *arg) { pthread_mutex_lock(&qlock); while(a<b) { pthread_co原创 2015-03-16 12:17:51 · 592 阅读 · 0 评论