我正在尝试在ThreadMe类中名为thefunction()的函数的main函数中创建一个线程。棘手的部分是我需要在另一个类TYIA -Roland
中启动一个线程#include <iostream>
#include <process.h>
#include <windows.h>
int main() {
char cincatcher[24];
std::cout << "I want to run a thread using a function on another class\n";
// Here is a good place to start the thread
while( true ) {
std::cin >> cincatcher
}
}
class ThreadMe {
void thefunction();
};
void ThreadMe::thefunction() {
while( true ) {
std::cout << "working!\n"
Sleep(800);
}
}
答案 0 :(得分:1)
您无法使用类方法直接启动线程。您必须将类方法包装到普通函数中,然后使用该函数启动线程。如下所示:
void threadBody(void *p) {
ThreadME tm;
tm.thefunction();
}