Go commands speak explicitly to the focus
thread and send an implicit Go to all other threads.
For
example, in a multithreaded environment with three threads named @T1, @T2, @T3,
and @T2 having focus, a Go Step command
would advance @T2 a single step. During this time,
threads @T1 and @T3 might advance
one or more steps depending on the scheduling policy of the underlying
operating system. In any case, when control returns to you, all three
threads have executed a whole number of steps (execution does not
stop in the middle of a step).
Only active (not suspended) threads are advanced
in a Go command. If the focus thread is suspended,
the execution does not advance and you are prompted to either set
the focus to another thread or resume the focus thread. If the focus
thread dies during a Go Step, Go Event, or Go Idle command,
the application immediately stops.