|  | GemaCoreLib
    The GeMA Core library | 
Declaration of the GmThreadManager class. More...
#include "gmCoreConfig.h"#include "gmLog.h"#include <assert.h>#include <QWaitCondition>#include <QMutex>#include <QQueue>

Go to the source code of this file.
| Classes | |
| class | GmTLS< T, Align > | 
| A class that works together with GmThreadManager to provide thread local storage.  More... | |
| class | GmThreadTask | 
| Interface for a task executed by a thread manager thread.  More... | |
| class | GmThreadManager | 
| Thread manager used for handling parallel executions.  More... | |
| class | GmThread | 
| Our thread wrapper, specialized for running tasks from the thread manager queue.  More... | |
| Macros | |
| #define | GmThreadLocal __thread | 
| Macro used to declare that a global / static variable has a per thread value (Thread Local Storage)  More... | |
| Enumerations | |
| enum | GmThreadTaskResult { GM_THREAD_OK = 1, GM_THREAD_CANCELED = 2, GM_THREAD_ABORTED = 3 } | 
| Possible results for running a task.  More... | |
| Variables | |
| GmThreadLocal int | GmThreadManagerThreadId | 
| Local storage for thread ids. More efficient than using QThread::currentThread() for then accessing the thread id stored in the GmThread object.  More... | |
Declaration of the GmThreadManager class.
| #define GmThreadLocal __thread | 
Macro used to declare that a global / static variable has a per thread value (Thread Local Storage)
IMPORTANT: The variable must be created BEFORE any thread criation. Space is not allocated for this variable in EXISTING threads (at least on Windows). This might be a problem if a thread local variable is declared in a DLL (plugin) loaded AFTER thread creation.
| enum GmThreadTaskResult | 
| GmThreadLocal int GmThreadManagerThreadId | 
Local storage for thread ids. More efficient than using QThread::currentThread() for then accessing the thread id stored in the GmThread object.
Can not be a static member of GmThreadManager due to the GMC_API_EXPORT macro (thread variables can not have DLL interface).
 1.8.15
 1.8.15