shared a1ready := semaphore(0) main: create_thread(thread_a, 1) create_thread(thread_b, 1) thread_a: statement a1 signal(a1ready) thread_b: wait(a1ready) statement b1