a**U 发帖数: 115 | 1 一个queue,一个consumer,一个producer,一般的方法是这个consumer,和producer
分别是一个线程,然后有一个锁,这连个线程风别访问这个queue。
问题是:如果这个queue是空的,如果用上面的方法,这个consumer还是定期查看queue
。有没有一个方法,不这么做,让这个queue里一旦有东西然后触发这个consumer
thread运行?如果做。请有经验的大人指点。 |
w**z 发帖数: 8232 | 2 wait and notify
producer
queue
【在 a**U 的大作中提到】 : 一个queue,一个consumer,一个producer,一般的方法是这个consumer,和producer : 分别是一个线程,然后有一个锁,这连个线程风别访问这个queue。 : 问题是:如果这个queue是空的,如果用上面的方法,这个consumer还是定期查看queue : 。有没有一个方法,不这么做,让这个queue里一旦有东西然后触发这个consumer : thread运行?如果做。请有经验的大人指点。
|
C***U 发帖数: 2406 | 3 恩
可以构造一个数据结构
存放这些等待的thread
时间发生以后,就选取那些thread。
【在 w**z 的大作中提到】 : wait and notify : : producer : queue
|
s******n 发帖数: 3946 | 4 pthread_cond_wait()
pthread_cond_notify() |
l*********y 发帖数: 142 | |