私は ThreadPool.QueueUserWorkItem で作業しようとしていますが、そのうちの 2 つを実行すると、次のようになります。
ThreadPool.QueueUserWorkItem(new WaitCallback(x=>function A);
ThreadPool.QueueUserWorkItem(new WaitCallback(x=>function B);
1 秒未満でスタックすることがあります。何か案は?
呼び出しの 1 つは、ゲームのカウントダウン タイマーです。
ThreadPool.QueueUserWorkItem(new WaitCallback(x=>initClock(0,0)));
private void initClock(int sec , int hunS)
{
int half = gameClock / 2;
seconds = sec;
while (true)
{
while (clockLock == false && seconds < gameClock)
{
hunSec = hunS;
while (clockLock == false && hunSec < 100)
{
Thread.Sleep(10);
updateClock(seconds, hunSec);
hunSec++;
}
seconds++;
if (half == seconds)
{
panel5.BackColor = Color.Red;
}
}
}
}
private void updateClock(int sec, int secRem)
{
if (this.InvokeRequired)
{
this.Invoke(new Action<int, int>(updateClock), sec, secRem);
}
else
{
clock_Label.Text = sec.ToString() + ':' + secRem.ToString();
}
}