Threads must be executed at the same time, simultaneously starting both threads at the "same time". In reality, each thread (on one processor computer) receives a finite period of time (called a quantum), which is performed before the context switches. This, of course, is a gross simplification, but basically this is what happens.
When you start both threads in the debugger and execute it (which I suppose you do), the jump action for each of the statements causes it to exceed the time that the thread has to execute it, and you get the context switches back to another thread.
source share