
15-07-2008, 19:49
|
|
|
|
חבר מתאריך: 17.11.06
הודעות: 29
|
|
|
שאלה בנוגע לMUTEX
כאשר אני יוצר 2 טרדים.. ובשניהם מיוטקס..
טרד אחד אמור להגיד "YAD" והשני "YADA"
הם יראו כך:
קוד:
pthread_mutex_lock()
printf("yad");
pthread_mutex_unlock();
pthread_yield();
כנ"ל לגבי השני..
אכך הפלט יהיה:
YAD
YADA
YAD
YADA
וכו' וכו'
הבעייה קורית כשאני מנסה ליצור בהם מונה עצמאי ולהדפיסו כל פעם, כדי לוודא ש
YAD1
יבוא לפני YADA1
וכך הלאה..
בהתחלה הכל בסדר ובהמשך זה מתחיל להתחרבש..
הבנתי שהפיתרון הוא בעצם להגדיר משתנה שבעצם יקבע איזה טרד אמור לעבוד באותו רגע, אבל אני מוצא את זה קצת לא הגיוני. המיוטקס והיילד הם לא אלה שכבר דואגים לסינכרון בין הטרדים?
אשמח להסבר.. תודה מראש
|