在c#主线程拿到数据,在定时器中处理这些数据,涉及到线程见信息调用,怎么做?呢。
展开全部
用lock把线程的调用的代码给锁了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是窗体设计器,即System.Windows.Forms里面的Timer,直接调用即可,它是线程安全的。当然它会有误差。
其它命名空间下的计时器不是线程安全的,如果你要访问窗体线程,则需要调用窗体的Invoke或BeginInvoke方法,把需要执行的委托作为参数传递即可。
Inovke和BeginInvoke的区别在于,一个是同步,而另一个是异步的。使用Invoke,计时器线程会等待窗体线程委托执行完毕,再运行下面的代码;而BeginInvoke不会等待窗体线程,直接运行下面的代码。
其它命名空间下的计时器不是线程安全的,如果你要访问窗体线程,则需要调用窗体的Invoke或BeginInvoke方法,把需要执行的委托作为参数传递即可。
Inovke和BeginInvoke的区别在于,一个是同步,而另一个是异步的。使用Invoke,计时器线程会等待窗体线程委托执行完毕,再运行下面的代码;而BeginInvoke不会等待窗体线程,直接运行下面的代码。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询