thread ב-C#

שיווקי

New member
thread ב-C#

שלום.ב-thread ב-C# - כאשר מבצעים thread ויש משתנים משותפים - איך אני גורם שלא תהיה נעילה לאותם משתנים אם מישהו משנה אותם.(זה כמדומני קשור read/write של property).אשמח לדוגמה.תודה.
 

שיווקי

New member
בהקבלה ל-java

ב-java יש lock, ויש מונח שנקרא thread-safe.
אם אני משתמש במשתנים מסוג thread-safe, אני לא יכול להשתמש באותם המשתנים ב-2 thread-ים בו זמנית.

אני מחפש את ההקבלה ל-C#.
יש משהו שראיתי באינטרנט, אך זה לא ממש ברור.
https://msdn.microsoft.com/en-us/library/aa645740(v=vs.71).aspx 

כן קישור נוסף, שמתאר שימוש ב-invoke.
https://msdn.microsoft.com/en-us/library/ms171728(v=vs.85).aspx

אך הנ"ל (שימוש ב-invoke) מדבר על class-ים כלליים, כגון text (או ויזואליים, שדורשים משאבים משותפים, כמו מסך) וזוהי דרך מסויימת לטפל בהם.
כאשר מדובר במשתנים פרטיים, שאני יצרתי בקוד - האם הדרך לפתור זאת, זה באמצעות properties של C#?

בג'אווה, אם אני מבצע lock, אז המשתנים שהם thread-safe מוגנים ולא ניתן להשתמש בהם ב-2 thread בו זמנית לכתיבה.

כמדומני, זה להשתמש ב-properties במקום במשתנים שהם thread-safe.
רק אני מחפש את ה-systax הנכון לעשון כן (ש-thread אחד כותב ושאר ה-thread עדיין צריכים גישה לאותו המשתנה של ה-thread הראשון, גם טרם סיום ה-thread הראשון).

אשמח לדוגמה.
תודה.
 

שיווקי

New member
מה שהתכוונתי

יש thread אחד שמבצע רישום למשתנה כלשהו.

אני לא רוצה ששאר ה-thread-ים יינעלו לקריאה של המשתנה בזמן שאני מבצע את הרישום.
איך ניתן לעשות כן?

אשמח לדוגמת קוד.

תודה.
 
למעלה