1. 互斥锁+条件变量:
释放锁,等待条件成立 ,然后在条件成立后,得到锁。一次只能wake一个。每个被触发的线程都不停地去取得条件变量。取得之后,去遍历任务列表,执行任务。(思路模糊,效率应该会高一些咯(条件变量是用户模式下的东西))
2. 信号灯:
所有线程等待信号灯。直到把信号灯消耗完全。(思路清晰,效率不知道怎么样)
1. 互斥锁+条件变量:
释放锁,等待条件成立 ,然后在条件成立后,得到锁。一次只能wake一个。每个被触发的线程都不停地去取得条件变量。取得之后,去遍历任务列表,执行任务。(思路模糊,效率应该会高一些咯(条件变量是用户模式下的东西))
2. 信号灯:
所有线程等待信号灯。直到把信号灯消耗完全。(思路清晰,效率不知道怎么样)