რა არის Pthread_cond_signal?
რა არის Pthread_cond_signal?

ვიდეო: რა არის Pthread_cond_signal?

ვიდეო: რა არის Pthread_cond_signal?
ვიდეო: Signaling for condition variables (pthread_cond_signal vs pthread_cond_broadcast) 2024, მაისი
Anonim

The pthread_cond_signal () ფუნქციამ უნდა განბლოკოს მინიმუმ ერთი ძაფები, რომლებიც დაბლოკილია მითითებულ პირობის ცვლადზე cond (თუ რომელიმე ძაფი დაბლოკილია cond-ზე). თუ ერთზე მეტი თემა დაბლოკილია პირობის ცვლადზე, დაგეგმვის პოლიტიკა უნდა განსაზღვროს ძაფების განბლოკვის თანმიმდევრობით.

უბრალოდ, რა არის Pthread_cond_t?

აღწერა. The pthread_cond_wait () და pthread_cond_timedwait() ფუნქციები გამოიყენება მდგომარეობის ცვლადის დასაბლოკად. ისინი იძახიან მუტექსით, რომელიც ჩაკეტილია გამოძახების ძაფით ან წარმოიქმნება განუსაზღვრელი ქცევა.

გარდა ამისა, რატომ სჭირდება Pthread_cond_wait მუტექსი? The მუტექსი გამოიყენება თავად მდგომარეობის ცვლადის დასაცავად. ამიტომ შენ საჭიროება ის დაიკეტა თქვენს წინაშე კეთება ლოდინი. შემდეგ, როდესაც პირობის ცვლადი იქნება სიგნალი ან გადაცემული, ერთი ან მეტი ძაფები მოლოდინში გაიღვიძებს და მუტექსი ისევ ჯადოსნურად დაიკეტება იმ თემისთვის.

გარდა ამისა, როგორ იყენებთ მდგომარეობის ცვლადებს?

ტიპიურში გამოყენება , ა მდგომარეობა გამოხატულება ფასდება მუტექს საკეტის დაცვით. Როდესაც მდგომარეობა გამოთქმა მცდარია, ძაფი იბლოკება მდგომარეობის ცვლადი . The მდგომარეობის ცვლადი შემდეგ ხდება სიგნალი სხვა ძაფით, როდესაც ის შეცვლის მდგომარეობა ღირებულება.

რა არის Pthread_mutex_t?

pthread_mutex_t გამოიყენება mutex ტიპის ობიექტის გამოსაცხადებლად. ამგვარად: pthread_mutex_t mymutexvariable; შემდეგ თქვენ იყენებდით mutex ცვლადს მუტექსის დაბლოკვისა და განბლოკვისთვის.

გირჩევთ: