diff options
author | Stefan Zabka <zabkaste@hu-berlin.de> | 2020-06-11 01:00:32 +0200 |
---|---|---|
committer | Stefan Zabka <zabkaste@hu-berlin.de> | 2020-06-11 01:00:32 +0200 |
commit | fad28509e7463082a508b761c797773538df7d27 (patch) | |
tree | c393af67d54e12f43c182fe776ca20f6a0333d78 /04_exercise/threadpool.h | |
parent | 1bec4c4e1e16aa12965d124f83590ba007b88719 (diff) | |
download | betriebssysteme-fad28509e7463082a508b761c797773538df7d27.tar.gz betriebssysteme-fad28509e7463082a508b761c797773538df7d27.zip |
First ideas
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. |