Methinks .communicate() can replace all those threads.