在正常情况下,应该不可能在TimerCallback函数上访问在主线程上分配的属性值,对吗?

我有一个使用计时器的类,并且该类具有用于TimerCallback的方法,那么,我访问此方法的属性就像没有多线程一样(我看到在主线程上分配的值)

如有必要,我将粘贴一些代码,但我想首先了解我是否对计时器有重大困惑。

谢谢

最佳答案

应该不能在TimerCallback函数上访问在主线程上分配的属性值,对吗?


错误!仅在使用依赖于主线程的UI时,例如在使用Winforms UI和WPF甚至某些COM组件时,您仅应从其创建的线程访问其成员,无论它在主线程在哪里或不。

但是,对于您构建的自定义类,哪个线程访问该成员并不重要,也就是说,任何线程都可以访问该类及其成员,而不管它在创建该类的线程上的哪个位置。

关于c# - 关于System.Timers.Timer的困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6917187/

10-09 05:06