我在 Visual Studio 2008 中的 C# 中完成所有这些工作。
我想减慢我的算法的工作速度,以便用户可以观看它的工作。GUI 上有一个可见的周期性变化,所以我Thread.Sleep
在每个实例之后添加。
问题是Thread.Sleep
,当设置为至少一秒时,在几个实例之后Thread.Sleep
(经过几个循环)只会冻结整个 GUI 并保持这种状态直到程序完成。不是马上,但它总是会发生。多快取决于睡眠的时间长短。
我有证据表明整个程序没有冻结,它正在工作,甚至睡眠也在正确长度的暂停。但是 GUI 在某个点冻结,直到算法结束,此时它显示正确的最终状态。
如何解决这个问题?替代在某个点暂停算法?