차이점
1. sleep()은 CPU 시간 조각을 소비하지 않고 지정된 시간 동안 일시 중지됩니다.
2. CPU 스케줄러가 이를 무시하지 않는 경우 Yield()는 CPU 스케줄러에 대한 프롬프트일 뿐입니다. 이 프롬프트는 스레드 컨텍스트를 전환하게 합니다
sleep()은 스레드를 잠시 차단하고 주어진 시간 내에 CPU 리소스를 해제합니다. RUNNING state
sleep() 주어진 시간 동안 Sleeping이 거의 100% 완료되지만,yield() 프롬프트는 반드시 sleep()을 호출하는 한 스레드와 Interrupt()를 호출하는 다른 스레드가 인터럽트 신호를 잡을 것이라고 보장하지는 않지만, 수익률은
Instancespackage cn.hanquan.test; /* * sleep模拟倒计时,每一秒减一 */ public class Lambda { public static void main(String[] args) { // Labmda表达式 new Thread(() -> { for (int i = 0; i < 100; i++) { System.out.println(i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); } }
위 내용은 Java에서 Yield()와 Sleep()의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!