如果我像这样设置一个计时器:
var MyTimer = new Timer(RunTask, AutoEvent, 1000, 2000);
是否保证RunTask始终在同一线程上运行?
我的所有测试似乎都表明是这样的,但这是一个保证还是运气呢?
这非常重要,因为我需要存储持续调用之间保留的变量,而我目前在这些变量上使用 [ThreadStatic] 属性。
我知道如果回调比计时器延迟时间长,则计时器会在另一个线程上进行另一个回调;因此,我将问题缩小到没有并行运行的情况下(在回调期间阻止计时器)。