diff options
Diffstat (limited to '04_exercise/threadpool.h')
-rw-r--r-- | 04_exercise/threadpool.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/04_exercise/threadpool.h b/04_exercise/threadpool.h index 6b758cd..1b5d64d 100644 --- a/04_exercise/threadpool.h +++ b/04_exercise/threadpool.h @@ -1,20 +1,26 @@ #ifndef THREADPOOL_H_INCLUDED #define THREADPOOL_H_INCLUDED +#include <stdatomic.h> #include <stddef.h> + + /**@brief Funktionszeiger auf eine asynchron auszuführende Funktion. - * + * * Der Parameter kann zur Übergabe von Argumenten und den Rückgabewerten * der Funktion genutzt werden. */ typedef void (*ThreadTask_f)(void*); +typedef atomic_char FutureStatus; +enum FurutureStatusEnum { FUT_WAITING = 0, FUT_IN_PROGRESS=1, FUT_DONE = 2}; /**@brief Handle zum zukünftigen Rückgabewert eines asynchronen Funktionsrufes. */ typedef struct Future { ThreadTask_f fn; ///<@brief Zeiger auf die auszuführende Funktion. /* TODO: benötigte Attribute hinzufügen */ + FutureStatus status; } Future; /**@brief Initialisiert den globalen Thread-Pool. |