startThread()

Инициирует запуск функции в новом потоке.

Краткое описание

  • int startThread(string funcName [, anytype arg1…]);

Параметры

ПараметрЗначение
funcNameЗапускаемая функция
arg1, arg2, …Передаваемые аргументы

Возвращаемое значение

В случае невозможности запуска функции возвращается -1. В случае успешного запуска функции и немедленного прерывания потока, а также во всех других случаях startThread() возвращает идентификационный номер потока ThreadId (>= 0).

Ошибки

Неверный/недействительный аргумент, например, если запускаемая функция не существует.

Описание

Инициируется запуск функции funcName в виде нового, параллельного потока. Аргументы могут передаваться функции с помощью arg1arg2, … .
Запускаемой функцией может быть только пустая функция, т.е. без возвращаемых значений.

ЗначокПРИМЕР

Инициируется запуск «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

См. также

getThreadId(),  stopThread()waitThread()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *