Multithreading and locking

This simple example shows two different approaches to multithreading -
using "one-time" threads vs. using threads from the pool. Also it shows
the usage of locks in multithreading.