http://www.lenholgate.com/blog/images/Efficient-MultiThreading-4.png