关于GCD信号量:dispatch_semaphore
2019-08-06 本文已影响0人
kobe55










实现线程加锁的原理:当信号计数大于0时,每条进来的线程dispatch_semaphore_wait会使计数减1,直到减到为0(加锁),变为0后其他的线程将进不来,处于等待状态;执行完任务的线程dispatch_semaphore_signal释放信号,使计数加1(解锁),如此循环下去
实现线程加锁的原理:当信号计数大于0时,每条进来的线程dispatch_semaphore_wait会使计数减1,直到减到为0(加锁),变为0后其他的线程将进不来,处于等待状态;执行完任务的线程dispatch_semaphore_signal释放信号,使计数加1(解锁),如此循环下去