我正在做一个关于c ++的代码。现在我对线程函数或基本的c ++概念感到困惑。我有一个头文件,函数文件和一个主函数文件。
header.h
class Employee : public Library
{
private:
pthread_t my_thread;//thread declare
public:
Employee();
int issueBook();
};
的main.cpp
class threadClass
{
public:
void *worker_thread(void *arg)
{
char *curtime;
char *bk_time = (char *)arg;
time_t now = time(0);
curtime = ctime(&now);
pthread_exit(NULL);
}
};
int main()
{
Employee emp ;
emp.issueBook(); //calling function
}
和function.cpp
int Employee :: issueBook()
{
int ret =0;
ret = pthread_create(&my_thread, NULL, &worker_thread,(void *)temp->book_time);//thread calling with a function name and argument
}
如何从main.cpp
文件中调用function.cpp
文件中定义的线程函数?我可以使用类threadClass
的对象调用吗?我可以在threadClass
文件中获取此function.cpp
对象吗?
答案 0 :(得分:0)
你的代码有什么问题,pthread_create需要一个函数指针作为线程入口点,而你提供& worker_thread,它不是一个函数,而是一个threadClass的成员函数。
您有两种选择: