createLowLevelThread

Create a thread not under control of the runtime, i.e. TLS module constructors are not run and the GC does not suspend it during a collection.

nothrow @nogc
createLowLevelThread
(
void delegate
()
nothrow
dg
,
uint stacksize = 0
,
void delegate
()
nothrow
cbDllUnload = null
)

Parameters

dg void delegate
()
nothrow

delegate to execute in the created thread.

stacksize uint

size of the stack of the created thread. The default of 0 will select the platform-specific default size.

cbDllUnload void delegate
()
nothrow

Windows only: if running in a dynamically loaded DLL, this delegate will be called if the DLL is supposed to be unloaded, but the thread is still running. The thread must be terminated via joinLowLevelThread by the callback.

Return Value

Type: ThreadID

the platform specific thread ID of the new thread. If an error occurs, ThreadID.init is returned.

Meta