replace std::queue with a double buffered std::vector for job queue