This fly can produce other flies and kill them. Any fly can consume any resource in the jar. Flies can queue up in an orderly manner to consume resources. Flies can communicate with flies in other jars, but none may escape from the jar and no fly from outside may enter it. Threads Concurrent programming, parallel programming.
Commands exist to create, destroy, synchronize threads.
Only one thread can lock a mutex at one time. Binary semaphore locks in single atomic action. Only one process active in monitor at a time. Uses binary semaphore implicitly in each procedure within monitor. Can use condition variables when waiting for resource.