לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 20-06-2009, 15:49
  Dark Knight Dark Knight אינו מחובר  
 
חבר מתאריך: 30.07.05
הודעות: 949
שלח הודעה דרך ICQ אל Dark Knight
בעיה מוזרה עם thread-ים ב-++C (תחת windows)

היי,
בתוכנית שלי יש thread שמבצע עבודה, ואני צריך לחכות שזו תסתיים לפני שאני ממשיך לבצע מספר פעולות נוספות.
כמו כן, יש לי גם GUI וכדי שהוא לא יקפא בזמן שאני מחכה שהעבודה תסתיים אני משתמש ב-thread מקשר.

עכשיו, בעצם מה שקורה, הוא שה-GUI יכול לעצור את ה-thread המבצע, זה שעובד, וזו בכלל הדרך היחידה לעצור אותו כי הוא בלולאה אין סופית של קבלת ושליחת הודעות. בלחיצה על כפתור stop אני פשוט עושה לו TerminateThread ואז השליטה אמורה לעבור ל-thread שמחכה לו עם WaitForSingleObject במצב INFINITE.

יש לי 2 משתני HANDLE בשבילם - trd_cont שזה ה-thread העובד, ו-wrapper_trd שזה ה-thread המחכה.
הדבר המוזר הוא ששני ה-HANDLE-ים מקבלים מהפונקציה _beginthreadex את אותו ה-HANDLE!!!
רק ה-tid שונה, ואילו הפונקציה TerminateThread עובדת על HANDLE מה שיוצר דברים מאד מוזרים!

למה הוא נותן ל-2 thread-ים את אותו ה-HANDLE?! יש לי דרך לשנות את זה?
תודה!
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.


נערך לאחרונה ע"י Dark Knight בתאריך 20-06-2009 בשעה 15:55.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 20-06-2009, 19:44
  Dark Knight Dark Knight אינו מחובר  
 
חבר מתאריך: 30.07.05
הודעות: 949
שלח הודעה דרך ICQ אל Dark Knight
בתגובה להודעה מספר 4 שנכתבה על ידי טוארג שמתחילה ב "ואיך קיבלת את ה handle של ה..."

הוא באמת ממתין על ה-socet ב-recv, אבל יהיה לי קצת בעייתי להגיע אל ה-socket...
בכל אופן, אני צריך להגיש פרויקט ביום חמישי, ויש עוד המון עבודה, אז אני מחפף קצת בכמה מקומות מבחינת design יפה.
אין לי כמעט נסיון עם דברים כאלו ואני בעיקר לומד תוך כדי.. ולומד המון, אבל בדכויות הקטנות אין לי זמן להתעמק

וכן, כמו שאמרתי, שתי ה-thread-ים מקבלים את אותו ה-HANDLER (לא שזה משנה אבל 0x1778)
הזוי לגמרי.. מצד שני, באופן מוזר כלשהו, זה עובד והבאג שהיה לי היה במקום אחר (לולאה אינסופית ב-D'tor שגרמה לכך שהכל נתקע בלי שהבנתי איפה... לקח לי 3 שעות בערך למצא את הבאג הזה... לדבג תוכנה מקבילית זה סיוט.....)
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 11:53

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר