threads

d_style

New member
threads

יש לי תפריט ובו אופציה לשמירה. תהליך השמירה שומר את הcache שבזכרון לDB. הגדרתי את תהליך זה כthread נפרד על מנת שניתן יהיה להמשיך לעבוד בזמן שמירת הנתונים. שאלתי היא, מה קורה אם המשתמש לחץ שוב על שמירה, לפני שהthread הספיק להסתיים ? מה ניתן לעשות בנידון ?
 

gilad g

New member
המממ

אתה יכול לעשות איזשהו "דגל" שיאמר האם ה-Thread של השמירה רץ באותו כרגע או לא... זה יהיה משהו כזה: שים לב שהשתמשתי ב-static, כי static לא תלוי ב-threads, והוא משתנה משותף לכל ה-threads.
public static bool SaveThreadIsRunning; public void Save() { //This is the main save procedure //If the thread is running, quit this method. if(SaveThreadIsRunning) return; SaveThreadIsRunning = true; //... your code here... SaveThreadIsRunning = false; }​
 
למעלה