多线程函数调用API出错原因?
刚写了一个多线程的程序MFC,多线程函数声明为类的友元函数,可调用类成员函数,但执行到类成员函数中设备的API函数时就出错了?请问为什么这样?
PS:本程序是对某设备的二次开发,有API接口函数。
不用多线程就能顺利执行,改用多线程就不能执行调用设备的API接口函数。
[解决办法]
可调用类成员函数,但执行到类成员函数中设备的API函数时就出错了?请问为什么这样?
-------------------
你可以将该类的对象的指针作为线程参数传递给线程,在线程中利用该类对象的指针来调用该类的成员函数。
[解决办法]
该设备的API不是线程安全的
在每次调用该设备的API前后都加上线程锁,保证同一时间只有一个线程访问该设备