Здравствуйте, EvgenyS, Вы писали:
ES>Доброго времени суток!
ES>Не могли бы вы помочь в следующем вопросе:
ES>Есть класс, в классе объявлена функция public: void ThreadFunc().
ES>При создании потока с помощью функции pthread_create(...), третьим параметром является указатель на функцию с которой начинает выполняться поток, так вот вопрос заключается в том, возможно ли в качестве этой ссылочной функции использовать функцию класса, если да то как именно на нее нужно ссылаться, если нет то какие могут быть варианты решения этого вопроса?!
ES>Заранее благодарен!!!
http://www.rsdn.ru/Forum/Info.aspx?name=FAQ.cpp.threadandmemberАвтор: MaximE
Дата: 08.08.04
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Здравствуйте, EvgenyS, Вы писали:
ES>возможно ли в качестве этой ссылочной функции использовать функцию класса, если да то как именно на нее нужно ссылаться, если нет то какие могут быть варианты решения этого вопроса?!
Функцию класса использовать нельзя. Причина: функция потока должна иметь такой прототип
DWORD WINAPI ThreadProc(LPVOID lpParameter).
Метод решения:
class A
{
static DWORD WINAPI ThreadProc(LPVOID lpParameter);
DWORD ThreadFuncEx();
}
DWORD A::ThreadProc(LPVOID lpParameter)
{
A* pA=(A*)lpParameter;
return pA->ThreadFuncEx();
}