私は次のコードに取り組んでいます:
r = gcnew RTMotionDetector();
Thread^ detectionThread = gcnew Thread(gcnew System::Threading::ThreadStart(r, &RTMotionDetector::start));
以下はRTMotionDetector
#pragma once
#include "MotionDetector.h"
ref class RTMotionDetector :
public MotionDetector
{
public:
RTMotionDetector(void);
~RTMotionDetector(void);
void start();
void pause();
void stop();
private:
VideoCapture *cam1;
};
ここで、スレッドが のstart()
メソッドにターゲットされていることがわかりますRMotionDetector
。ただし、このメソッドだけでなく、スレッド内で呼び出しを処理するには、このクラスに属する他のすべてのメソッドが必要です。
それで、クラス全体をスレッドに入れて、必要なときにそのすべてのメソッドを呼び出す方法はありますか? このクラスは非常に重いため、このクラスはスレッド内にある必要があります。そうしないと、他の作業が完全に停止します。私はWindowsプログラミングにかなり慣れていません。