pthreads: pthread_cond_signal () innerhalb des kritischen Abschnitts
Ich habe das folgende Stück Code in Thread A, der mit blockiertpthread_cond_wait()
pthread_mutex_lock(&my_lock);
if ( false == testCondition )
pthread_cond_wait(&my_wait,&my_lock);
pthread_mutex_unlock(&my_lock);
Ich habe den folgenden Code in Thread B, der Thread A signalisiert
pthread_mutex_lock(&my_lock);
testCondition = true;
pthread_cond_signal(&my_wait);
pthread_mutex_unlock(&my_lock);
Sofern es keine anderen Threads gibt, würde es einen Unterschied machen, wennpthread_cond_signal(&my_wait)
wird wie unten gezeigt aus dem Block des kritischen Abschnitts verschoben?
pthread_mutex_lock(&my_lock);
testCondition = true;
pthread_mutex_unlock(&my_lock);
pthread_cond_signal(&my_wait);