pthreads: pthread_cond_signal () dentro da seção crítica
Eu tenho o seguinte trecho de código no thread A, que bloqueia usandopthread_cond_wait()
pthread_mutex_lock(&my_lock);
if ( false == testCondition )
pthread_cond_wait(&my_wait,&my_lock);
pthread_mutex_unlock(&my_lock);
Eu tenho o seguinte trecho de código na thread B, que sinaliza thread A
pthread_mutex_lock(&my_lock);
testCondition = true;
pthread_cond_signal(&my_wait);
pthread_mutex_unlock(&my_lock);
Desde que não haja outros tópicos, faria alguma diferença septhread_cond_signal(&my_wait)
é movido para fora do bloco de seção crítica como mostrado abaixo?
pthread_mutex_lock(&my_lock);
testCondition = true;
pthread_mutex_unlock(&my_lock);
pthread_cond_signal(&my_wait);