これはすべて、Visual Studio 2008 の C# で行っています。
ユーザーがアルゴリズムの動作を監視できるように、アルゴリズムの動作を遅くしたいと考えています。GUI に表示される定期的な変更があるためThread.Sleep
、すべてのインスタンスの後に追加しました。
問題は、Thread.Sleep
少なくとも 1 秒に設定すると、Thread.Sleep
(数回のループの後) のいくつかのインスタンスの後、単に GUI 全体をフリーズさせ、プログラムが完了するまでそのままにしておくことです。すぐにではありませんが、常に発生します。どのくらい早く睡眠の長さに依存します。
プログラム全体がフリーズしないという証拠があります。それは機能しており、スリープでも正しい長さの一時停止が行われています。しかし、アルゴリズムが終了するまで、特定の時点で GUI がフリーズし、その時点で正しい最終状態が表示されます。
この問題を解決するには?特定の時点でアルゴリズムを一時停止する代わりに?