作者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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1443201081.A.2FF.html
1F:→ Litfal: ArrayList...好怀念阿XDD 09/26 09:29
2F:→ Litfal: 把a1[x]的元素做成class,里面有lockObj与Value,然後使用 09/26 09:34
3F:→ Litfal: lockObj做锁定。然後除非你还在用1.1,不然改用泛型的List 09/26 09:35
4F:→ Litfal: 比较好 09/26 09:35
5F:→ Litfal: 锁定请参考 09/26 09:37
7F:→ disabledman: 锁定不被读取?不太懂 10/14 21:15