Threaddetach
 
释放线程句柄,而不用等待线程完成

语法

Declare Sub ThreadDetach ( ByVal id As Any Ptr )

用法

#include "fbthread.bi"
ThreadDetach( id )

参数

id
Any PtrThreadCreateThreadcall创建的线程的句柄

说明

ThreadDetach释放与ThreadCreateThreadcall返回的线程句柄相关联的资源。线程句柄将被ThreadDetach破坏,不能再被使用。
ThreadWait不同,ThreadDetach不等待线程完成,线程执行将独立执行。一旦线程退出,任何已赋值的资源将被释放。

例子

#include "fbthread.bi"

Sub mythread( ByVal param As Any Ptr )
    Print "hi!"
End Sub

Var thread = ThreadCreate( @mythread )
threaddetach( thread )

threaddetach( ThreadCreate( @mythread ) )

Sleep


方言差异

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

平台差异

  • ThreadDetach不支持FreeBASIC的DOS版本,因为DOS内核和所使用的扩展程序不支持多线程。

与QB差别

  • 新的FreeBASIC

参考