THREADWAIT
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgThreadWait
- 最后更新: 2020-10-12
等待线程完成执行并释放线程句柄
语法
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 新增
参见
ThreadCreateThreadDetach
返回 目录