ThreadWait
 
Ожидает, пока указанный поток будет завершен до возвращения

Синтаксис

Declare Sub ThreadWait ( ByVal id As Any Ptr )

Использование

ThreadWait( id )

Параметры

id
Any Ptr дескриптор потока, созданный с помощью ThreadCreate

Описание

Threadwait не возвращается, пока поток, обозначенный id не завершится. Threadwait не заставляет поток завершаться; если поток требуется сигнал, чтобы завершиться, то должен быть использован механизм общих переменных.

Для того, чтобы освободить дескриптор потока, не дожидаясь окончания выполнения потока, используйте Threaddetach.

Потоки запускаются функцией ThreadCreate.

Чтобы избежать одновременного доступа к общим ресурсам из разных потоков, FreeBASIC реализует мьютексы, взаимные блокировки исключений, которые могут быть "принадлежать" в одном потоке, выполняя критические работы. Смотрите MutexCreate, MutexLock, MutexUnlock, MutexDestroy

Пример

Смотрите пример ThreadCreate.

Различия диалектов

  • Многопоточность не допускается в диалекте -lang qb.

Различия платформ

  • Threadwait не доступен в версии DOS FreeBASIC, потому что многопоточность не поддерживается ядром DOS.
  • В Linux потоки всегда запускаются в том порядке, котором они были созданы , это нельзя предположить (угадать) в Win32. Это вопрос операционных систем, а не FreeBASIC.

Отличия от QB

  • Новое в FreeBASIC

См. также