Refactor threads module to expect a return
Turns out I don't have a False Sharing problem

It was thought I had a False Sharing problem because the execution times
were the same no matter how I increased or decresased the number of
threads to perform a task. However on closer inspection I have begun to
realize Valgrind may be limiting the number of threads the program it
analyzes can exeecute on, since if I don't use Valgrind, the tests show
a difference in execution times.