作者itisorange (找妳 台中)
看板C_Sharp
標題[問題] 關於Thread Safe問題
時間Sat Sep 26 01:11:18 2015
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
→ Litfal: ArrayList...好懷念阿XDD 09/26 09:29
→ Litfal: 把a1[x]的元素做成class,裡面有lockObj與Value,然後使用 09/26 09:34
→ Litfal: lockObj做鎖定。然後除非你還在用1.1,不然改用泛型的List 09/26 09:35
→ Litfal: 比較好 09/26 09:35
→ Litfal: 鎖定請參考 09/26 09:37
→ disabledman: 鎖定不被讀取?不太懂 10/14 21:15