>Java >java지도 시간 >Java의 스레드 스케줄링이란 무엇입니까?

Java의 스레드 스케줄링이란 무엇입니까?

青灯夜游
青灯夜游원래의
2018-12-17 12:33:205346검색

Java에서는 단일 CPU에서 특정 순서로 여러 스레드를 실행하는 것을 멀티스레딩의 핵심으로, 좋은 스레드 스케줄링을 사용하면 시스템 성능을 최대한 활용하고 CPU 리소스를 효율적으로 활용할 수 있습니다. 프로그램 실행 효율성을 향상시킵니다.

Java의 스레드 스케줄링이란 무엇입니까?

일반적으로 우선 순위가 가장 높은 실행 가능한 스레드가 먼저 실행되고 활성화됩니다(실행 중). 우선 순위가 높은 스레드가 활성화되고 우선 순위가 낮은 스레드가 실행 중인 경우 우선 순위가 높은 스레드가 실행됩니다. 즉시. [관련 영상 튜토리얼 추천 : 자바 튜토리얼]

스케줄링 방식

1. 대기 및 알림

대기 [wait()]와 알림 [notify(), informAll()]이 동일하게 제공됩니다. 개체 동기화된 스레드 간에 통신하는 방법입니다.

설명:

wait() 메서드: wait() 메서드가 개체에 대해 호출되면 코드를 실행하는 스레드는 즉시 개체에 대한 잠금을 포기하고 스레드를 대기 상태로 이동합니다.

notify() 메소드: 동일한 객체에서 wait()를 호출한 스레드를 깨우고 스레드를 준비 상태로 이동합니다.

notifyAll() 메서드: 동일한 개체에서 wait()를 호출하는 모든 스레드를 깨웁니다.

2. Run and Yield

Yield() 메서드는 동일한 우선순위를 가진 다른 스레드에 대한 실행 기회를 제공하는 데 사용됩니다. 즉, 현재 실행 중인 스레드를 실행 가능한 상태로 이동합니다.

3. Sleep 및 활성화

nSleep() 메서드는 지정된 시간 동안 스레드를 일시 중지하는 데 사용됩니다. 즉, 현재 실행 중인 스레드를 지정된 시간 동안 Sleep 상태로 이동한 다음 이동합니다. 실행 가능한 상태로 만듭니다. 예:

Thread.sleep(毫秒数);

스레드 우선순위

각 스레드에는 1~10 사이의 정수로 표시됩니다. 숫자가 높을수록 스레드 우선순위는 기본적으로 5로 설정됩니다. 대부분의 경우 스레드 스케줄러는 우선순위에 따라 스레드를 예약합니다(선점형 예약이라고 함).

Java의 스레드 스케줄링이란 무엇입니까?

Java 스레드를 생성하면 스레드를 생성한 스레드에서 우선순위를 상속받습니다. 스레드를 생성한 후 언제든지 setPriority 메서드를 사용하여 스레드의 우선순위를 수정할 수도 있습니다.

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

위 내용은 Java의 스레드 스케줄링이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.