毎秒タイマーを実行したい。しかし、フリーズを防ぐために、UI スレッドで実行したくありません。
そのため、デザイナーが提供する組み込みのタイマーとは別のタイマーを使用しています。そして、これが正しいアプローチであるかどうかはよくわかりません。
threadtimer = new System.Threading.Timer(timer, null, 1000, Timeout.Infinite);
private void timer(object obj)
{
dowork.....
threadtimer.Change(1000, Timeout.Infinite);
}
それは間違っているようです。最初にスレッドを作成し、1000 後に無限に実行するように指示します。それでも、それを永遠に行うには、もう一度言い直さなければなりません。2 番目の引数が成り立たないのに、どうして 2 番目の引数があるのでしょうか?