线程使用场景非常多,在这里就不一一细说。
本文主要描述一种在c++类中使用线程并且调用类中其他方法。
.h文件
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <pthread.h>
class A
{
public:
A();
~A();
void fun1();
void fun2();
private:
pthread_t m_PthreadId;
}
.cpp文件
#include "A.h"
void* PthreadFun(void* arg)
{
A* aaa = (A*)arg;
if (aaa == NULL)
{
printf("error");
}
aaa.fun2();
}
A::A()
{
}
A::~A()
{
}
void A::fun1()
{
int ret = pthread_create(&m_PthreadId,NULL, PthreadFun,(void *)this);
if (ret < 0)
{
perror("pthread write");
}
pthread_join(m_PthreadId, NULL);
}
void A::fun2()
{
printf("this fun2\n");
}
参考博客:
https://www.cnblogs.com/yorkyang/p/7804733.html
https://www.cnblogs.com/zzdbullet/p/9526130.html
https://www.runoob.com/cplusplus/cpp-multithreading.html