摘要: 1. 信号量 - Semaphore 首先初始化信号量的值为N 线程访问资源时,首先获取信号量: 将信号量的值减1 如果信号量的值小于0,则进入等待状态,否则继续运行。 访问完资源后,线程释放信号量: 将信号量的值加1 如果信号值的值小于1,唤醒一个等待的线程。2. 互斥量 - Mutex 资源仅同时允许一个线程访问。 与信号量不同的是,信号量可以被任意线程获取与释放。即一个线程获取了信号量后,可由另一个线程释放。而互斥量要求哪个线程获取了互斥量,哪个线程就要负责释放这个锁。3. 临界区 - Critical Section 与信号量、互斥量不同的是,信号量... 阅读全文
posted @ 2012-04-15 16:41 linear 阅读(308) 评论(0) 推荐(0) 编辑