yield() 메소드가 정적입니다. 스레드 메소드 현재 실행 중인 스레드를 중지할 수 있고 동일한 우선순위의 다른 대기 스레드에 기회를 줄 것입니다. 대기 중인 스레드가 없거나 대기 중인 모든 스레드의 우선순위가 낮은 경우 그러면 동일한 스레드가 계속 실행됩니다. yield()의 장점 방법은 대기 중인 다른 스레드를 실행할 수 있는 기회를 얻는 것이므로 현재 스레드가 실행하고 다른 스레드에 프로세서를 할당하는 데 더 많은 시간이 걸리는 경우입니다.
구문
public static void yield()
예시
class MyThread extends Thread { public void run() { for (int i = 0; i < 5; ++i) { Thread.yield(); // By calling this method, MyThread stop its execution and giving a chance to a main thread System.out.println("Thread started:" + Thread.currentThread().getName()); } System.out.println("Thread ended:" + Thread.currentThread().getName()); } } public class YieldMethodTest { public static void main(String[] args) { MyThread thread = new MyThread(); thread.start(); for (int i = 0; i < 5; ++i) { System.out.println("Thread started:" + Thread.currentThread().getName()); } System.out.println("Thread ended:" + Thread.currentThread().getName()); } }
출력
Thread started:main Thread started:Thread-0 Thread started:main Thread started:Thread-0 Thread started:main Thread started:Thread-0 Thread started:main Thread started:Thread-0 Thread started:main Thread started:Thread-0 Thread ended:main Thread ended:Thread-0