Cautions about Threads
lReasoning about concurrent programs is inherently more difficult than reasoning about sequential ones.
l
lThey can exhibit non-deterministic behavior, when variables are shared among threads.