[問題] 關於Thread Safe問題

作者: itisorange (找妳 台中)   2015-09-26 01:11:18
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會多次發生
作者: Litfal (Litfal)   2015-09-26 09:29:00
ArrayList...好懷念阿XDD把a1[x]的元素做成class,裡面有lockObj與Value,然後使用lockObj做鎖定。然後除非你還在用1.1,不然改用泛型的List比較好鎖定請參考https://msdn.microsoft.com/zh-tw/library/c5kehkcz.aspx
作者: disabledman (m.m.)   2015-10-14 21:15:00
鎖定不被讀取?不太懂

Links booklink

Contact Us: admin [ a t ] ucptt.com