|
|
@@ -2,7 +2,7 @@
|
|
2
|
2
|
|
|
3
|
3
|
0. Beim Erstellen wird ein Pointer übergeben, welcher dann in einen int gecastet werden soll. Dies funktioniert jedoch nicht, da die Größe unterschiedlich ist. Um dies zu beheben, castet man den Pointer einfach zu einem `long int`, dann stimmt die Größe.
|
|
4
|
4
|
|
|
5
|
|
-## `main-two-cvs-while.c`
|
|
|
5
|
+### `main-two-cvs-while.c`
|
|
6
|
6
|
|
|
7
|
7
|
1. Wenn der Buffer größer wird, ändert sich nichts am Code. Die Zahl der produzierten Werte ist jedoch linear zu den Codezeilen. Das Programm ist also nicht abhängig von der Buffergröße.
|
|
8
|
8
|
|
|
|
@@ -18,16 +18,16 @@
|
|
18
|
18
|
|
|
19
|
19
|
7. Wie bei `5.` ist die Laufzeit hier nicht von der Größe des Buffers abhängig, da die Werte direkt aus dem Buffer konsumiert werden und dieser somit nie voll wird. Die zu erwartende Laufzeit ist also dieselbe wie bei `6.`.
|
|
20
|
20
|
|
|
21
|
|
-## `main-one-cv-while.c`
|
|
|
21
|
+### `main-one-cv-while.c`
|
|
22
|
22
|
|
|
23
|
23
|
1. Nein, denn mit einer Condition-Variable und einer while-Schleife können nur Fehler auftreten, wenn ein zweiter Consumer geweckt wird. Da dieser hier jedoch nicht existiert, treten keine Fehler im Programm auf.
|
|
24
|
24
|
|
|
25
|
25
|
2.
|
|
26
|
26
|
|
|
27
|
|
-## `main-two-cvs-if.c`
|
|
|
27
|
+### `main-two-cvs-if.c`
|
|
28
|
28
|
|
|
29
|
29
|
1.
|
|
30
|
30
|
|
|
31
|
|
-## `main-two-cvs-while-extra-unlock.c`
|
|
|
31
|
+### `main-two-cvs-while-extra-unlock.c`
|
|
32
|
32
|
|
|
33
|
33
|
1.
|