View source code
Display the source code in core/thread.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Function core.thread.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.
ulong createLowLevelThread
(
void delegate() dg,
uint stacksize = 0u,
void delegate() cbDllUnload = cast(void delegate() nothrow)null
) nothrow @nogc;
Parameters
Name | Description |
---|---|
dg | delegate to execute in the created thread. |
stacksize | size of the stack of the created thread. The default of 0 will select the platform-specific default size. |
cbDllUnload | 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. |
Returns
the platform specific thread ID of the new thread. If an error occurs, ThreadID
is returned.
Authors
Sean Kelly, Walter Bright, Alex Rønne Petersen, Martin Nowak
License
Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.