Find a Java tutorial (or several) on multi-threading/thread pooling and have a ball. I don't think anyone can suggest an "efficient class structure(only for threads)," because I doubt anyone knows...