条件变量和信号量

条件变量,就像一个信号,告诉线程“可以开始了”。 信号量,像个计数器,控制对资源的访问。
在Linux下,用POSIX线程库,条件变量是pthread_cond_t,信号量是pthread_mutex_t和sem_t。
比如,生产者消费者模型,生产者生产数据,消费者消费数据: - 生产者用信号量保护共享数据区,用条件变量通知消费者数据已准备好。 - 消费者用信号量检查数据区是否为空,用条件变量等待生产者通知。
项目:操作系统内核开发,时间:2018年,数字:1000+线程同步。
我也还在验证,经验是这样。你自己掂量。

相关推荐

FPC

2026-02-22 07:00:23 推荐