Skip to content

THREADWAIT ​


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

语法 ​

Declare Sub ThreadWait ( Byval id As Any Ptr )

用法 ​

ThreadWait( id )

参数 ​

id

由 ThreadCreate 或 ThreadCall 创建的线程的 Any Ptr 句柄

说明 ​

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

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

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

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

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

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

示例 ​

参见 Threadcreate 示例。

方言差异 ​

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

平台差异 ​

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

与QB的区别 ​

  • FreeBASIC 新增

参见 ​

  • ThreadCreate
  • ThreadDetach

返回 目录

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