C++ 使用线程访问一个类的多个方法
我正在编写以下代码:C++ 使用线程访问一个类的多个方法,c++,.net,multithreading,visual-studio-2010,visual-c++,C++,.net,Multithreading,Visual Studio 2010,Visual C++,我正在编写以下代码: r = gcnew RTMotionDetector(); Thread^ detectionThread = gcnew Thread(gcnew System::Threading::ThreadStart(r, &RTMotionDetector::start)); 以下是RTMotionDetector #pragma once #include "MotionDetector.h" ref class RTMotionDetector : p
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;
};
在这里,您可以看到线程的目标是RMotionDetector
的start()
方法。但是,不仅是这个方法,我还需要属于这个类的所有其他方法在线程内处理我的调用
那么,有没有什么方法可以在需要时将整个类放入线程并调用它的所有方法?这个类必须在线程中,否则它将完全停止其他工作,因为这个类非常重。我对windows编程相当陌生。这个问题真的毫无意义。控件通过函数调用流动。“将类放入线程”在bluesky会议中听起来可能不错,但这不是程序的工作方式。每个线程都有一个入口点,由您来创建合适的控制流。是的-一旦开始()执行,它就可以调用“this”上的其他成员函数,没问题。@KerrekSB:好的,那么,我需要使用创建线程的同一个类访问该类的其他方法。如何做到这一点?@MartinJames:RTMotion类的所有方法都将由创建线程的类调用RTMotion’永远不会调用它自己的函数。那么,如何做到这一点呢?有什么想法吗?请帮忙!你的意思不是“创建线程的同一个类”。你是说“同一个物体”。只需像往常一样调用其他成员函数。