摘要:
一、原子操作 在之前介绍信号量的实现原理中,我们已经了解到获取信号量的操作会导致进程的休眠,也就是存在进程的切换,这样会带来很大的系统开销。 针对单个变量的独占访问我们可以采用原子锁的方式来实现进程的同步。原子锁采用原子操作来实现。 1.1 什么是原子操作 原子操作,顾名思义,就是说像原子一样不可再 阅读全文
摘要:
一、信号量(semaphore) 1.1 什么是信号量 信号量本质上是一个计数器,它用来记录对某个资源的存取状态。一般来说,为了获取共享资源,进程需要执行下列操作: 测试控制该资源的信号量; 如果信号量的值为正,则允许操作该资源,并且信号量值减1; 如果信号量为0,则资源目前不可用,进程进入休眠状态 阅读全文