我正在创建与不同数据库交互的多个线程。假设我想暂停该特定线程并恢复同一个线程而不影响数据库操作,我该怎么做。
我的代码如下所示
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";
}
}
我怎样才能安全地暂停和恢复我的线程..?
提前致谢