> Java > java지도 시간 > 본문

Java에서 Yield()와 Sleep()의 차이점은 무엇입니까?

王林
풀어 주다: 2023-05-07 21:55:06
앞으로
1553명이 탐색했습니다.

차이점

1. sleep()은 CPU 시간 조각을 소비하지 않고 지정된 시간 동안 일시 중지됩니다.

2. CPU 스케줄러가 이를 무시하지 않는 경우 Yield()는 CPU 스케줄러에 대한 프롬프트일 뿐입니다. 이 프롬프트는 스레드 컨텍스트를 전환하게 합니다

sleep()은 스레드를 잠시 차단하고 주어진 시간 내에 CPU 리소스를 해제합니다. RUNNING state

sleep() 주어진 시간 동안 Sleeping이 거의 100% 완료되지만,yield() 프롬프트는 반드시 sleep()을 호출하는 한 스레드와 Interrupt()를 호출하는 다른 스레드가 인터럽트 신호를 잡을 것이라고 보장하지는 않지만, 수익률은

Instances

package 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿