Выполнить функцию в другом потоке
От: Amor Россия  
Дата: 24.06.04 14:29
Оценка:
Привет всем.

Просьба не пинать ногами, уверен, что уже обсуждали эту тему и не раз, до меня даже доносились обрывки этих разговоров в форумах, только вот я не понял по каким словам их искать в поиске. Попробовал — не получилось. Подскажите, плиз, эти ключевые слова, или ссылки, либо чем-нить еще.

Задача:
Есть ряд вызовов в общем виде.
ret = pobj->func( param1, ..., param2 ) ;
ret = obj.func( param1, ..., param2 ) ;
ret = func( param1, ..., param2 ) ;


Нужно создать такой механизм, чтобы выполнить этот вызов в отдельном потоке. А еще лучше в конкретном потоке, который уже работает (схожие наверно задачи, если первая будет, то и до второй недалеко).

1. Желательно, чтобы вызов был как наименее громоздким. Т.е. что-то типа такого:
RUN_IN_OTHER_THREAD( pobj, func, param1, ..., param2) ;

2. Учитывать виртуальные фукцнии объектов.
3. Определить возможность обратного вызова с полученным результатом и возможность ожидания исполнения (т.е. возврат после того как функция выполнит свою работу).


Заранее благодарен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.