スレッドの一時停止と再開に関する作業ロジックを習得したい。マルチスレッドの一時停止と再開
Thread th=new Thread(start);
th.Start();
public void start()
{
command_1;
command_2;
command_3;
if(variable_condition)
goto Pause;
command_4;
command_5;
command_6;
command_7;
Pause:
pause();
}
private void pause()
{
th.Suspend();
}
private void button1_Click(object sender, EventArgs e)
{
th.Resume();
}
今、スレッドを開始するコマンドが続行されると、
command_1またはcommand_4?
[少し読んで](https://msdn.microsoft.com/en-us/library/tttdef8x(v = vs.110).aspx) : "Thread.SuspendとThread.Resume ...しかし、これらのメソッドの使用はお勧めできません。Thread.SuspendメソッドとThread.Resumeメソッドは一般的にアプリケーションには便利ではありません。同期メカニズムと混同しないでください。" - だから、なぜあなたはそれらを学んでいるのですか? –
私はマルチスレッドについては良くないので。そして私はこの一時停止と再開の方法だけを知っています。そのようなメソッドの場合は、これらのメソッドについて私にリンクを与えることができます。 私は感謝します –
'Suspend'と' Resume'の使用を知らせずに、mutex、クリティカルセクション、ロック、セマフォなどの同期オブジェクトについて読んでください。 –