Code examples from condition variables chapter. Build by typing
run the resulting executable to see how it works. Insert
of various lengths to control timing and force bad things to happen.
join_spin.c: Working solution but wastes CPU.
join_no_lock.c: What happens when you don't put a lock around the state change and signal
join_no_state_var.c: What happens if you don't have a state variable
join.c: A working solution
join_modular.c: A modularized version
pc_single_cv.c: What happens if you only use one condition variable
pc.c: A working solution