Ի՞նչ է Pthread_cond_signal-ը:
Ի՞նչ է Pthread_cond_signal-ը:

Video: Ի՞նչ է Pthread_cond_signal-ը:

Video: Ի՞նչ է Pthread_cond_signal-ը:
Video: Ի՞նչ է հայտնի Պրիգոժինի ենթադրյալ մահվան մասին այս պահին 2024, Նոյեմբեր
Anonim

Այն pthread_cond_signal () ֆունկցիան պետք է ապաշրջափակի թելերից առնվազն մեկը, որոնք արգելափակված են նշված պայմանի փոփոխական cond-ում (եթե որևէ շարանը արգելափակված է cond-ում): Եթե պայմանի փոփոխականի վրա մեկից ավելի շղթա արգելափակված է, ժամանակացույցի քաղաքականությունը պետք է որոշի շղթաների ապաշրջափակման հերթականությունը:

Պարզապես, ի՞նչ է Pthread_cond_t-ը:

ՆԿԱՐԱԳՐՈՒԹՅՈՒՆ. Այն pthread_cond_wait () և pthread_cond_timedwait() ֆունկցիաները օգտագործվում են պայմանի փոփոխականի վրա արգելափակելու համար: Նրանք կանչվում են mutex-ով, որը կողպված է կանչող շղթայով, կամ կստացվի անորոշ վարքագիծ:

Բացի այդ, ինչո՞ւ է Pthread_cond_wait-ին անհրաժեշտ մուտեքս: Այն mutex օգտագործվում է ինքնին պայմանի փոփոխականը պաշտպանելու համար: Ահա թե ինչու դուք կարիք այն փակվեց ձեր առջև անել սպասել. Այնուհետև, երբ պայմանի փոփոխականը ազդարարվի կամ հեռարձակվի, սպասման ցուցակի մեկ կամ մի քանի շղթաներ կարթնանան և mutex նորից կախարդական կերպով կփակվի այդ թեմայի համար:

Ավելին, ինչպե՞ս եք օգտագործում պայմանի փոփոխականները:

Տիպիկ օգտագործել , ա վիճակ արտահայտությունը գնահատվում է mutex կողպեքի պաշտպանության ներքո: Երբ որ վիճակ արտահայտությունը կեղծ է, շարանը արգելափակվում է պայմանի փոփոխական . Այն պայմանի փոփոխական այնուհետև ազդանշան է տրվում մեկ այլ շղթայով, երբ այն փոխում է վիճակ արժեքը։

Ի՞նչ է Pthread_mutex_t-ը:

pthread_mutex_t օգտագործվում է mutex տիպի օբյեկտ հայտարարելու համար: այսպես. pthread_mutex_t mymutexvariable; Այնուհետև դուք կօգտագործեիք mutex փոփոխականը՝ mutex-ը կողպելու և բացելու համար: