Why sleep() and yield() methods are defined as static methods in java.lang.Thread class?
sleep()
yield()
static
java.lang.Thread
class
The same reason is why stop() and suspend() methods are deprecated. Intrusion in thread's state from outside is dangerous and can cause unpredictable result. And if sleep is not static, for example, how do you think interruption from it will happen?