Under what circumstances does a multithreaded solution using multiple kernel threads provide better performance than a single-threaded solution on a single-processor system? Explain when to use "for loop" and the "while loop". What is multiprocessing?