Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Многопоточность

323
23 марта 2005 года
Sergun
228 / / 20.09.2000
Для создания дополнительного потока юзаю _beginthread ().. но все бы замечательно, да вот не хочет эта мега-функция воспринимать как функци-поток метод класса...
т.е. если в параметре передаю обычную функцию, то все ок, а если точно также передаю метод класса, то не компилит компилятор:((
что делать?:{
3
23 марта 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Sergun
Для создания дополнительного потока юзаю _beginthread ().. но все бы замечательно, да вот не хочет эта мега-функция воспринимать как функци-поток метод класса...
т.е. если в параметре передаю обычную функцию, то все ок, а если точно также передаю метод класса, то не компилит компилятор:((
что делать?:{



Передавай статический метод класса, а экземпляр в виде указателя третим аргументом _beginthread.
Пример:

Код:
struct A
{
  static void thunk(void* p)
  {
    A* pThis = reinterpret_cast<A*>(p);
    pThis->func();
  }
 
  void func()
  {
  }
 
  uintptr_t initThread()
  {
    return _beginthread(thunk, 0, this);
  }
};
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог