为了账号安全,请及时绑定邮箱和手机立即绑定

多线程的问题?

多线程的问题?

有只小跳蛙 2018-10-10 06:07:38
 private void test(object obj)        {            lock (obj)            {                RobotLog.SysLog(obj.ToString() + "开始执行", true);                System.Threading.Thread.Sleep(1000 * 2);                RobotLog.SysLog(obj.ToString() + "结束执行", true);             }                   } 我有一个对象,里面有一个定时器,我有多少个实例就有多少个定时器,第一次使用多线程想请教下,上面的代码有问题吗?  还有我多个定时器操作一个泛型集合并且有一个定时器读取这个集合我怎样保证集合的同步?谢谢了
查看完整描述

2 回答

?
萧十郎

TA贡献1815条经验 获得超12个赞

有问题,你这和没lock一样

查看完整回答
反对 回复 2018-10-23
?
绝地无双

TA贡献1946条经验 获得超4个赞

多个定时器同步lock就没什么问题了

主要是lock (obj),obj是一个参数,最好是lock一个外界不能改变的对象,这样有问题。这样最好:

object obj=new object();

lock(obj)

还有lock里面你还写sleep,那是什么意思


查看完整回答
反对 回复 2018-10-23
  • 2 回答
  • 0 关注
  • 401 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信