Top / Programming / C++Builder / C++Builderでマルチスレッドプログラミング / 実行中のスレッドを終了する

実行中のスレッドを終了する

Thread.Terminate メソッドはスレッドのTerminatedプロパティをtrueにします。

スレッドはTerminatedプロパティがtrueになったら終了するように実装する必要があります。

void __fastcall TMyThread::Execute()
{
  //TThread.Terminateメソッドが呼ばれるまで出力を繰り返す
  while (!Terminated)
  {
    std::cout << "Nice!";
    Sleep(100);
  };
}

int _tmain(int argc, _TCHAR* argv[])
{
  TMyThread* thread = new TMyThread(false);
  //5秒待機
  Sleep(5000);
  //スレッドを終了する
  thread->Terminate();
  return 0;
}