1

異なるデータベースと対話する複数のスレッドを作成しています。その特定のスレッドを一時停止し、データベース操作に影響を与えずに同じスレッドを再開したいとします。

私のコードは以下のとおりです

 thread begin
 for(;;)
 {
 //do something 
 //Critical section begins
 Database Operation like update or insert usually takes long time
 //Critical section ends
 //do something
 thread.sleep(10000);
 }

スレッドを一時停止するたびに、クリティカル セクション操作が完了するまで待機する必要があることを確認する必要があります。そのため、再開が簡単になります。

以下のコードを使用して一時停止していますが、データベース操作の実行中に例外がスローされます。

        while (tA1.IsAlive)
        {

            if (tA1.ThreadState == ThreadState.WaitSleepJoin)
            {

                tA1.Suspend();
                Status1A.Text = "Upload Paused";

            }
        }

スレッドを安全に一時停止して再開するにはどうすればよいですか..??

前もって感謝します

4

1 に答える 1