c-uebungen/Assignment_029/readme.md

21 lines
955 B
Markdown
Raw Normal View History

2023-05-21 21:10:46 +02:00
# POSIX-Threads
📆 **Fällig: ----** 📆 [Musterlösung](solution/)
Implementieren Sie eine Funktion mit dem Namen `task`, die einen Parameter vom Typ `void*` erhält. Diese Funktion soll eine einfache Aufgabe ausführen, z.B. eine Schleife von 1 bis 10 ausgeben. Jeder Thread soll diese Aufgabe unabhängig voneinander ausführen. Verwenden Sie `usleep` aus `<unistd.h>`, um die Threads nach jeder Ausgabe 10 Mikrosekunden schlafen zu lassen.
In der `main`-Funktion sollen drei Threads erstellt werden. Jeder Thread soll die Funktion `task` ausführen. Verwenden Sie die Funktionen `pthread_create`, `pthread_join` und `pthread_exit` zur Verwaltung der Threads.
Beispiel:
```console
1 1 2 1 3 2 2 4 3 3 5 4 4 6 5 5 7 6 8 6 7 9 7 8 10 8 9 9
10 10
```
## Quellen
* [Skript](https://smits-net.de/files/pr3_c/html/) zur Vorlesung
* [C-Tutorial](https://www.learn-c.org/)
* [C von A bis Z](https://openbook.rheinwerk-verlag.de/c_von_a_bis_z/)