如果设置或取消设置事件,是否有更简单的解决方案将窗口手动重置事件移植到pthread,而不是pthread条件变量+ pthread互斥+标记?
我对pthread_cond_signal和pthread_cond_wait有疑问.例如,在下面的代码,根据我的理解,当inc_count的调用调用pthread_cond_signal,计数+ = 125在WATCH_COUNT部只能之后执行count_mutex在解锁inc_count的.
该count_mutex在解锁WATCH_COUNT部时调用pthread_cond_wait执行,仅在被锁定调用pthread_mutex_unlock在inc_count的执行.我对吗?
void *inc_count(void *t)
{
int i;
long my_id = (long)t;
for (i = 0; i < TCOUNT; i++)
{
pthread_mutex_lock(&count_mutex);
count++;
if (count == COUNT_LIMIT)
{
pthread_cond_signal(&count_threshold_cv);
}
pthread_mutex_unlock(&count_mutex);
}
pthread_exit(NULL);
}
void *watch_count(void *t)
{
long my_id = (long)t;
pthread_mutex_lock(&count_mutex);
while (count < COUNT_LIMIT)
{
pthread_cond_wait(&count_threshold_cv, &count_mutex);
count += …Run Code Online (Sandbox Code Playgroud)