There is no version of yield in Thread which allows you to specify a time or Thread instance.
The documentation for yield says
Causes the currently executing thread object to temporarily pause and allow other threads to execute.
The reason that both 1 and 2 will work is that yield is a static method in Thread.
So you can call the method using an instance of Thread, but it is irrelevant which Thread instance calls it. The currently executing thread is the thread that pauses. [ February 16, 2007: Message edited by: Keith Lynn ]