Let's say that it acknowldges your request and starts executing your thread's run method. But now again there are two things that can happen the thread a1(your thread) might just monopolize the CPU causing the CPU to never run any other thread. Or it might just act in a nice gentle way and both threads co-operatively execute. Now the last option of co-operation is likely to happen. When this happens now we have thread a1 constantly iterating in a loop and thread main executing its code.