-
-
Notifications
You must be signed in to change notification settings - Fork 33
dlib.core.thread
Timur Gafarov edited this page Dec 15, 2015
·
6 revisions
This module provides a platform-independent multithreading API. For now, it supports Windows and Posix threads (pthreads). The interface is greatly inspired by core.thread from Phobos, but dlib.core.thread is fully GC-free and can be used with dlib.core.memory allocators.
Implementation notes:
- No TLS support, sorry. Any global variables should be marked with
__gshared
for correct access from threads. - Internals of
Thread
class are platform-dependent, so be aware of that when inheriting.
Base class for creating threads.
Methods:
-
this(void function() func)
- initialize with a function pointer -
this(void delegate() func)
- initialize with a delegate - void start() - start the thread. This method returns immediately
- void join() - wait for the thread to terminate
- bool isRunning() - check if the thread is running
- void terminate() - terminate the thread immediately. This functionality is unsafe, use with care.