Инициирует запуск функции в новом потоке. |
Краткое описание
- int startThread(string funcName [, anytype arg1…]);
Параметры
Параметр | Значение |
funcName | Запускаемая функция |
arg1, arg2, … | Передаваемые аргументы |
Возвращаемое значение
В случае невозможности запуска функции возвращается -1. В случае успешного запуска функции и немедленного прерывания потока, а также во всех других случаях startThread() возвращает идентификационный номер потока ThreadId (>= 0). |
Ошибки
Неверный/недействительный аргумент, например, если запускаемая функция не существует. |
Описание
Инициируется запуск функции funcName в виде нового, параллельного потока. Аргументы могут передаваться функции с помощью arg1, arg2, … . |
Запускаемой функцией может быть только пустая функция, т.е. без возвращаемых значений. |
ПРИМЕР
Инициируется запуск «test» в виде нового потока.
main() { startThread(«test»); } void test() {//…} |
ПРИМЕР Вызов функции «myWorkFunction» и ее запуск в виде нового потока. main() { startThread(«myWorkFunction», TRUE, 3); /* Выходные значения «3», «2», «1». Время между выходным значением — 1 сек */ } void myWorkFunction(bool bNeedWait, int iIterations) { while (iIterations > 0) { Debug(«Iteration: «,iIterations—); if (bNeedWait) { delay(1); } } } |
Используется для объекта
Потоки |
Доступность
CTRL |
См. также