我对 C++ 很陌生。
我有一个类,我想在一个类的函数中创建一个线程。并且该线程(函数)也将调用和访问类函数和变量。一开始我尝试使用 Pthread,但只在一个类之外工作,如果我想访问类函数/变量,我得到一个超出范围的错误。我看了一下 Boost/thread 但它是不可取的,因为我不想将任何其他库添加到我的文件中(出于其他原因)。
我做了一些研究,找不到任何有用的答案。请举一些例子来指导我。太感谢了!
尝试使用 pthread(但我不知道如何处理我上面所说的情况):
#include <pthread.h>
void* print(void* data)
{
std::cout << *((std::string*)data) << "\n";
return NULL; // We could return data here if we wanted to
}
int main()
{
std::string message = "Hello, pthreads!";
pthread_t threadHandle;
pthread_create(&threadHandle, NULL, &print, &message);
// Wait for the thread to finish, then exit
pthread_join(threadHandle, NULL);
return 0;
}