多くの初期化(強力なマシンでは1〜2秒)が必要なオブジェクトがあります。初期化されると、通常の「ジョブ」を実行するのに約20ミリ秒しかかかりませんが
アプリが使用するたびに再初期化されるのを防ぐために(通常の使用では1秒間に50回、またはまったくない場合があります)、ジョブキューを指定して実行することにしました。独自のスレッドで、キューにそのための作業があるかどうかを確認します。ただし、作業の有無にかかわらず、無期限に実行されるスレッドを作成する方法が完全にはわかりません。
これが私がこれまでに持っているものです、どんな批評も歓迎されます
private void DoWork()
{
while (true)
{
if (JobQue.Count > 0)
{
// do work on JobQue.Dequeue()
}
else
{
System.Threading.Thread.Sleep(50);
}
}
}
考えた後:私は、このスレッドを永久に実行させるために、このスレッドを優雅に強制終了する必要があるかもしれないと考えていたので、スレッドを終了するように指示するJobタイプを追加すると思います。このようなスレッドを終了する方法についての考えもありがたいです。