Как запустить метод класса в отдельном потоке?
Категория: C/C++
2012-02-14 16:30:34
для этого нужно создать поток, указав функцию, которую он должен выполнять:
code: #cpp
Thread^ myThread = gcnew Thread(gcnew ThreadStart(myFunction));
Указать, что он не является главным:
code: #cpp
myThread->IsBackground = true;
Запустить на выполнение:
code: #cpp
myThread->Start();
Если функция принимает параметры, то нужно действовать следующим образом: объявить делегат (как глобальную переменную):
code: #cpp
delegate void DelegateForМyFunction(/* Список переменных функции */);
Создать переменную делегата и запустить функцию на выполнение:
code: #cpp
DelegateForMyFunction^ DoМyFunction = gcnew DelegateForМyFunction(МyFunction); DoМyFunction(/* Список переменных функции */);
В MyFunction запускать метод класса:
code: #cpp
void МyFunction(/* Список переменных функции */) { //Запустить метод класса }
автор: novikov.ea
Поделиться: