This is an old revision of the document!
Pentru parcurgerea demo-urilor, folosiți arhiva aferentă.
1-process_thread/
.thread.c
) sau dintr-un proces nou (process.c
).2-list/
.thread-list-app.c
și list.c
.USE_MUTEX
?Makefile
și urmăriți definirea macro-ului USE_MUTEX
.make
pentru a obține executabilele thread-list-app
și thread-list-app-mutex
.thread-list-app
de mai multe ori, până obțineți eroare.NUM_THREADS
și NUM_ROUNDS
la alte valori (probabil mai mari), recompilați folosind make
și apoi rulați thread-list-app
.thread-list-app-mutex
de mai multe ori.time
(e relevant timpul obținut pentru rulare cu succes):time ./thread-list-app time ./thread-list-app-mutex
sys
în output-ul time
) este mai mare în cazul folosirii thread-list-app-mutex
?3-spin/
.spin.c
.USE_SPINLOCK
.Makefile
.USE_SPINLOCK
.make
pentru a obține două executabile: spin
și mutex
.time
pentru a contabiliza timpul de rulare:time ./spin time ./mutex
./spin
nu petrece foarte mult în kernel space (system time – sys
în output-ul time
)?4-granularity/
.granularity.c
.GRANULARITY_…
.make
; veți obține executabilul granularity
.time ./granularity
GRANULARITY_TYPE
la valoarea GRANULARITY_COURSE
.time ./granularity