waitThread()

Ожидает завершения указанного потока.

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

  • int waitThread(int threadId);

Параметры

ПараметрЗначение
threadIdИдентификационный номер ожидаемого потока.

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

В случае успешного исполнения 0, в случае возникновения ошибок -1.

Ошибки

Отсутствующие/неверные аргументы, например, указанный поток не существует.

Описание

Ожидает поток с идентификационным номером threadId.

ПРИМЕЧАНИЕ
Существует возможность ожидания только сценариев, запуск которых был инициирован в собственном сценарии, ожидание собственного потока невозможно: waitThread(getThreadId()).
ЗначокПРИМЕР
void myFunction()
{
  DebugTN(«begin of thread»);
  int a;
  for (a = 0; a < 10; a++)
  {
       DebugTN(getThreadId(), a);
       delay(1);
  }
  DebugTN(«end of thread»);
}


/*A) При «waitThread()» -> «main()» находится в ожидании после «startThread()», так как поток не завершен*/

main()
{
  DebugTN(«begin of main»);
  int id = startThread(«myFunction»);
  waitThread(id);
  DebugTN(«end of main»);
}

/* Вывод в средство просмотра журналов:WCCOAui1:2010.11.24 16:28:18.128[«begin of main»]
WCCOAui1:2010.11.24 16:28:18.191[«begin of thread»]
WCCOAui1:2010.11.24 16:28:18.191[1][0]
WCCOAui1:2010.11.24 16:28:19.191[1][1]
WCCOAui1:2010.11.24 16:28:20.191[1][2]
WCCOAui1:2010.11.24 16:28:21.191[1][3]
WCCOAui1:2010.11.24 16:28:22.191[1][4]
WCCOAui1:2010.11.24 16:28:23.191[1][5]
WCCOAui1:2010.11.24 16:28:24.191[1][6]
WCCOAui1:2010.11.24 16:28:25.191[1][7]
WCCOAui1:2010.11.24 16:28:26.191[1][8]
WCCOAui1:2010.11.24 16:28:27.191[1][9]
WCCOAui1:2010.11.24 16:28:28.191[«end of thread»]
WCCOAui1:2010.11.24 16:28:28.191[«end of main»]*/

/*B) Без «waitThread()» -> «main()» завершается непосредственно после вызова «startThread()»*/

main()
{
  DebugTN(«begin of main»);
  int id = startThread(«myFunction»);
//  waitThread(id);
  DebugTN(«end of main»);
}

/* Вывод в средство просмотра журналов:WCCOAui1:2010.11.24 16:29:54.881[«begin of main»]
WCCOAui1:2010.11.24 16:29:54.959[«begin of thread»]
WCCOAui1:2010.11.24 16:29:54.959[«end of main»]
WCCOAui1:2010.11.24 16:29:54.959[1][0]
WCCOAui1:2010.11.24 16:29:55.959[1][1]
WCCOAui1:2010.11.24 16:29:56.959[1][2]
WCCOAui1:2010.11.24 16:29:57.959[1][3]
WCCOAui1:2010.11.24 16:29:58.959[1][4]
WCCOAui1:2010.11.24 16:29:59.959[1][5]
WCCOAui1:2010.11.24 16:30:00.959[1][6]
WCCOAui1:2010.11.24 16:30:01.959[1][7]
WCCOAui1:2010.11.24 16:30:02.959[1][8]
WCCOAui1:2010.11.24 16:30:03.959[1][9]
WCCOAui1:2010.11.24 16:30:04.959[«end of thread»]*/

Используется для объекта

Потоки

Доступность

CTRL

См. также

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

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