我有这个代码:
private void timer1_Tick(object sender, EventArgs e)
{
MessageBox.Show(Thread.CurrentThread.ManagedThreadId.ToString());
}
定时器已启用,间隔 = 100。
这会导致无限数量的消息框彼此重叠出现,而我原本希望它们只是阻止下一个事件,直到当前消息框关闭。
在更复杂的应用程序中,这可能会导致不可预测的结果,并且好像有多个线程可以访问同一个函数,但实际上它是同一个线程。
为什么会这样?