Pthread_cond_signal คืออะไร?
Pthread_cond_signal คืออะไร?

วีดีโอ: Pthread_cond_signal คืออะไร?

วีดีโอ: Pthread_cond_signal คืออะไร?
วีดีโอ: Pthread Condition Variables 2024, พฤศจิกายน
Anonim

NS pthread_cond_signal () ฟังก์ชันจะปลดบล็อกอย่างน้อยหนึ่งเธรดที่ถูกบล็อกในเงื่อนไขตัวแปรเงื่อนไขที่ระบุ (หากมีเธรดใดถูกบล็อกบน cond) ถ้ามีมากกว่าหนึ่งเธรดถูกบล็อกในตัวแปรเงื่อนไข นโยบายการจัดตารางเวลาจะกำหนดลำดับที่เธรดจะถูกปลด

พูดง่ายๆ คือ Pthread_cond_t คืออะไร?

คำอธิบาย. NS pthread_cond_wait () และ pthread_cond_timedwait() ใช้เพื่อบล็อกตัวแปรเงื่อนไข พวกเขาถูกเรียกด้วย mutex ที่ถูกล็อกโดยเธรดที่เรียก มิฉะนั้นจะเกิดพฤติกรรมที่ไม่ได้กำหนดไว้

นอกจากนี้ เหตุใด Pthread_cond_wait จึงต้องการ mutex NS mutex ใช้เพื่อป้องกันตัวแปรเงื่อนไขเอง นั่นเป็นเหตุผลที่คุณ ความต้องการ มันล็อคก่อนคุณ ทำ รอ จากนั้นเมื่อตัวแปรเงื่อนไขถูกส่งสัญญาณหรือแพร่ไปยัง เธรดในรายการรอหนึ่งรายการขึ้นไปจะถูกปลุกและ mutex จะถูกล็อคอย่างน่าอัศจรรย์อีกครั้งสำหรับเธรดนั้น

นอกจากนี้ คุณจะใช้ตัวแปรเงื่อนไขอย่างไร?

โดยทั่วไป ใช้ , NS สภาพ นิพจน์ได้รับการประเมินภายใต้การป้องกันการล็อก mutex เมื่อ สภาพ นิพจน์เป็นเท็จ เธรดบล็อกบน ตัวแปรเงื่อนไข . NS ตัวแปรเงื่อนไข จะถูกส่งสัญญาณโดยเธรดอื่นเมื่อมันเปลี่ยน สภาพ ค่า.

Pthread_mutex_t คืออะไร?

pthread_mutex_t ใช้เพื่อประกาศวัตถุประเภท mutex ดังนั้น: pthread_mutex_t mymutexvariable; จากนั้น คุณจะใช้ตัวแปร mutex เพื่อล็อกและปลดล็อก mutex

แนะนำ: