02-07-2005, 12:16
|
|
|
|
חבר מתאריך: 20.06.03
הודעות: 5,616
|
|
....סגירה
אם הבנתי נכון את שאלתך, יש לך שתי תכניות (A, B) המתמשות במשאב משותף (קובץ X).
דרך אחת היא ברגע שאתה מסיים להשתמש בקובץ ב-A, לסגור אותו, ואזי הוא יתפנה לשימושן של תכניות אחרות - אחרת כל נסיון להשתמש בקובץ, מתפרש ע"י מערכת ההפעלה כפניה לקובץ שבשימוש.
החיסרון בשיטה זו, היא שאין לך דרך לקבוע מתי הקובץ פנוי לשימוש, ואז - תצטרך לבצע בדיקות ע"י התכנה המתחרה על המשאב, מתי הוא מתפנה ושוב ושוב ושוב...
ניתן לפתור זאת ע"י סינכרון בין התכניות.
דרך אחרת, היא למעשה המבוא לבנית מסד נתונים, כתוב תכנית C, שכל תפקידה הוא לפקח על הקובץ X. אם תכנית A רוצה נתונים מקובץ X, אזי היא פונה ל-C ומבקשת זאת ממנה. אם תכנית B רוצה גם היא נתונים, גם היא פונה ל-C. אם C משרת כרגע את A, היא תומר ל-B להמתין ותחזור לשרת את B כאשר תסתיים הטראזקציה של A.
מקווה שההסבר לא היה מסובך מדי (((:
|