[問題] 關於Thread Safe問題

看板C_Sharp (C#)作者 (找妳 台中)時間9年前 (2015/09/26 01:11), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
class my_class{ public ArrayList al = new ArrayList(); private void my_event(object sender, EventArgs args){ int out = args.number - al[args.id]; al[args.id] = args.number; output(args.id, out); } } 請問有辦法可以讓al[args.id]這個值鎖定不被讀取 又可以讓其他的args.id觸發正常 目前會發生同時間同一個args.id觸發兩次以上 output會多次發生 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.170.58 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1443201081.A.2FF.html

09/26 09:29, , 1F
ArrayList...好懷念阿XDD
09/26 09:29, 1F

09/26 09:34, , 2F
把a1[x]的元素做成class,裡面有lockObj與Value,然後使用
09/26 09:34, 2F

09/26 09:35, , 3F
lockObj做鎖定。然後除非你還在用1.1,不然改用泛型的List
09/26 09:35, 3F

09/26 09:35, , 4F
比較好
09/26 09:35, 4F

09/26 09:37, , 5F
鎖定請參考
09/26 09:37, 5F

10/14 21:15, , 7F
鎖定不被讀取?不太懂
10/14 21:15, 7F
文章代碼(AID): #1M1O0vB_ (C_Sharp)
文章代碼(AID): #1M1O0vB_ (C_Sharp)