gpt4 book ai didi

c# - 在 C# 中的计时器滴答声中的序列

转载 作者:太空宇宙 更新时间:2023-11-03 19:12:58 24 4
gpt4 key购买 nike

我在 C# 中有一个 1 秒的计时器,其中有一个 while 序列。我的问题是,如果 while 序列在 1 秒之前没有完成,计时器会滴答作响,并从头开始重新启动 while 吗?

部分代码如下,它的作用是循环选择对象并改变一些东西。那么,如果选择了很多对象,我需要超过1秒的时间来改变它们,它们会全部改变吗?

附言我实际上希望循环被打破;大量的对象只会被错误地选中,但我只是想确保我避免这种可能性。 :)

private void timer1_Tick(object sender, EventArgs e)
{
TSM.ModelObjectEnumerator myEnum = null;
myEnum = new TSM.UI.ModelObjectSelector().GetSelectedObjects();

while (myEnum.MoveNext())
{
if (myEnum.Current != null)
{....}
}
}

最佳答案

是的,计时器滴答可以同时发生。这意味着您的计时器必须是线程安全的。

UI 计时器类 (WinForms/WPF) 除外。它们的滴答函数在 UI 线程上运行。使用 DoEvents,您甚至可以在此处导致重入,这是避免 DoEvents 的另一个原因。

关于c# - 在 C# 中的计时器滴答声中的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19250724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com