Multithreaded solution to DNS request handling, solves classic producer consumer problem.