Skip to content

THREADWAIT


等待线程完成执行并释放线程句柄

语法

Declare Sub ThreadWait ( Byval id As Any Ptr )

用法

ThreadWait( id )

参数

id

ThreadCreateThreadCall 创建的线程的 Any Ptr 句柄

说明

ThreadWait 等待由 ThreadCreateThreadCall 创建的线程完成执行,然后释放与线程句柄相关联的资源。ThreadWait 不会返回,直到 id 指定的线程结束。

等待期间,调用者不消耗 CPU 时间。

要在不等待线程完成的情况下释放线程句柄,请使用 ThreadDetach

ThreadWait 不强制线程结束;如果线程需要信号来强制其结束,必须使用共享变量和互斥锁等机制。

为了避免内存泄漏,安全结束线程的方法是始终向线程发出必须结束的信号,然后对该线程调用 ThreadWait,除非之前已调用了 ThreadDetach

内置宏 __FB_MT__ 仅从 ThreadWait 使用点起自动设置。

示例

参见 Threadcreate 示例。

方言差异

  • -lang qb 方言中不允许使用线程。

平台差异

  • ThreadWait 在 FreeBASIC 的 DOS 版本中不可用,因为 DOS 内核及所用的扩展器不支持多线程。

与QB的区别

  • FreeBASIC 新增

参见

  • ThreadCreate
  • ThreadDetach

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系