|
|
@@ -8,15 +8,15 @@
|
|
8
|
8
|
|
|
9
|
9
|
2. Der Producer wird (sofern die Zahl der produzierten Werte größer ist als die Größe des Buffers) den Buffer komplett füllen und der Consumer dann immer ein Item konsumieren. Im Gegensatz dazu hat der Consumer im ersten Test immer sofort konsumiert, d.h. der Buffer läuft nie voll.
|
|
10
|
10
|
|
|
11
|
|
-3.
|
|
|
11
|
+3. Auf der Labshell ist das Verhalten unterschiedlich zu dem auf beispielsweise einem Laptop: Der Consumer braucht auf der Labshell nicht so lange wie auf einem Laptop, da dies anscheinend systemabhängig ist.
|
|
12
|
12
|
|
|
13
|
|
-4.
|
|
|
13
|
+4. Da der Producer 10 Werte produziert, wird 10 mal für je eine Sekunde gewartet. Die zu erwartende Laufzeit liegt also über 10 Sekunden.
|
|
14
|
14
|
|
|
15
|
|
-5.
|
|
|
15
|
+5. Da der Producer immer noch 10 Werte produziert und dies nicht von der Größe des Buffers abhängig ist, ist die Laufzeit mit einer Buffergröße von 3 also gleich groß wie bei `4.`.
|
|
16
|
16
|
|
|
17
|
|
-6.
|
|
|
17
|
+6. In diesem Fall werden die produzierten Werte abwechselnd von den einzelnen Consumern konsumiert. Diese warten anschließend für je eine Sekunde. Der Producer produziert 10 Werte, die auf drei Consumer aufgeteilt werden, also `c0: 4, c1: 3, c2: 3`. `c0` wartet 4 mal, also muss die Laufzeit länger als 4 Sekunden dauern.
|
|
18
|
18
|
|
|
19
|
|
-7.
|
|
|
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
|
21
|
## `main-one-cv-while.c`
|
|
22
|
22
|
|