Wat is Pthread_cond_signal?
Wat is Pthread_cond_signal?

Video: Wat is Pthread_cond_signal?

Video: Wat is Pthread_cond_signal?
Video: Сигнализация для условных переменных (pthread_cond_signal vs pthread_cond_broadcast) 2024, November
Anonim

De pthread_cond_signal () functie zal ten minste één van de threads deblokkeren die zijn geblokkeerd op de gespecificeerde conditievariabele cond (als er threads zijn geblokkeerd op cond). Als meer dan één thread is geblokkeerd op een voorwaardevariabele, bepaalt het planningsbeleid de volgorde waarin threads worden gedeblokkeerd.

Simpel gezegd, wat is Pthread_cond_t?

OMSCHRIJVING. De pthread_cond_wait () en pthread_cond_timedwait() functies worden gebruikt om een voorwaardevariabele te blokkeren. Ze worden aangeroepen met mutex vergrendeld door de aanroepende thread, anders zal er ongedefinieerd gedrag optreden.

Bovendien, waarom heeft Pthread_cond_wait een mutex nodig? De mutex wordt gebruikt om de voorwaardevariabele zelf te beschermen. Dat is waarom jij nodig hebben het vergrendeld voor je doen een wacht. Wanneer dan de conditievariabele wordt gesignaleerd of uitgezonden naar, zullen een of meer van de threads op de wachtlijst worden gewekt en de mutex wordt op magische wijze weer vergrendeld voor die thread.

Bovendien, hoe gebruik je conditievariabelen?

in typisch gebruik maken van , een voorwaarde expressie wordt geëvalueerd onder de bescherming van een mutex-slot. Wanneer de voorwaarde uitdrukking is onwaar, de draadblokken op de conditie variabele . De conditie variabele wordt dan gesignaleerd door een andere thread wanneer het de. verandert voorwaarde waarde.

Wat is Pthread_mutex_t?

pthread_mutex_t wordt gebruikt om een object van het type mutex te declareren. dus: pthread_mutex_t mijnmutexvariabele; U zou dan de mutex-variabele gebruiken om een mutex te vergrendelen en te ontgrendelen.

Aanbevolen: