shared count := 0 shared mutex := semaphore(1) main: thread_count := read_integer() create_thread(secondary, thread_count) secondary: wait(mutex) // Critical section count := count + 1 signal(mutex)