While it is true that a multithreaded app is more responsive than a single threaded one, programmers who are new to multithreading are often misled into thinking that a multithreaded app executes faster. However, this is not always the case. On a machine that has a single CPU, adding threads will usually increase the overall processing time because the CPU instructions required to perform the scheduling and switching between threads add a performance overhead both in terms of execution speed and application size. Of course, in interactive applications such as word processing, Web browsers, and graphical editors, multithreading is unavoidable; otherwise, the application may become non-responsive. Only machines that have two or more processors offer true parallel processing. In this case, the overall processing time can be reduced by allocating a distinct processor to each thread.