I have been trying to reverse engineer some code in an attempt to figure out common ways to implement multithreading. The following code was taken from printrun an opensourc