有一个静态的threadRoutine成员函数,因为C++成员函数缺省的调用方式是__thiscall,成员函数中隐含的第一个参数都是this指针,所以run成员函数不能匹配给pthread_create的形参void *(start_routine) (void ), 这时候就可以传递类的一个静态成员,把this指针做为该静态成员的参数。也就是start方法的: pthread_create(&threadId_,NULL, threadRoutine,this); 在threadRoutine函数中将接收到的void类型的参数转换成Thread就可以了,然后调用他的run方法。
linux下线程的两种封装方式
最新推荐文章于 2021-05-06 14:10:24 发布