I am relatively new to Object Oriented Programming and am creating my first decent sized Java application. I have to create an application that users must login to, select which sub-system they want to use, and then select the thing they want to do from a menu. These tasks represent, as I see it, modules that can be developed as separate pieces and then assembled. Here are the modules, again as I see it: -user login -select the system the user wants -menu options (and the rest of the application) My question is about threads. I know how to make these modules run on different threads. Each module would spawn a new thread for the next module to run on. My question is, is this a good idea or should I just write all of them on the same thread? When is it a good time to spawn a new process off on a separate thread? Help!! Thank you very much in advance!!