쓰레드 클래스 예제

Java는 여러 인터페이스 구현을 지원하기 때문에 Runnable 구현이 선호됩니다. Thread 클래스를 확장하는 경우 다른 클래스를 확장할 수 없습니다. 스레드에 의해 run() 메서드를 실행하려면 MyClass 인스턴스를 생성자의 스레드에 전달합니다(Java의 생성자는 개체 인스턴스가 생성될 때 호출되는 메서드와 유사한 코드 블록입니다). 실행 가능한 인터페이스를 구현하기 위해 클래스는 run(run)이라는 단일 메서드만 구현하면 됩니다. 이렇게 하려고 하면 IllegalThreadState예외가 throw됩니다. Main으로 명명된 클래스를 만들고 Main 메서드에서 입력을 얻고, n, 주문 수, 지불 세부 정보 및 실행할 스레드 수를 가져옵니다. 스레드 수에 따라 목록을 하위 목록으로 분할합니다. 스레드 실행이 완료되면 기본 메서드에서 보고서를 인쇄합니다. 이 작품에서 설명한 Thread에 대한 모든 요점은 독자가 스레드의 개념과 그 용도를 장점과 단점과 함께 이해할 수 있도록 하기 위한 것입니다. 이러한 숙어 중 어떤 것을 사용해야 합니까? Runnable 개체가 Thread 이외의 클래스를 하위 클래스로 분류할 수 있기 때문에 실행 가능한 개체를 사용하는 첫 번째 관용구가 더 일반적입니다.

두 번째 관용구는 간단한 응용 프로그램에서 사용하기 쉽지만 작업 클래스가 Thread의 하위 항목이어야 한다는 사실에 의해 제한됩니다. 이 단원에서는 Runnable 작업을 작업을 실행하는 Thread 개체와 구분하는 첫 번째 방법에 중점을 둡니다. 이 접근 방식은 보다 유연할 뿐만 아니라 나중에 다루는 고급 스레드 관리 API에 적용할 수 있습니다. 인터페이스를 사용하면 직렬화, 복제 가능한 등과 같은 다른 클래스를 사용하여 스레드를 확장 할 수 있기 때문에 구현이 가장 좋은 방법입니다. Thread 클래스를 확장하고 해당 클래스의 인스턴스를 만드는 새 클래스로 스레드를 만듭니다. 확장 클래스는 새 스레드의 진입점인 run() 메서드를 재정의해야 합니다. 클래스를 실행할 수 있도록 java.lang.Runnable 인터페이스를 구현하고 공용 void run() 메서드에서 구현을 제공할 수 있습니다. 이 클래스를 Thread로 사용 하려면이 runnable 클래스의 개체를 전달 하 여 Thread 개체를 만든 다음 별도 스레드에서 run() 메서드를 실행 하려면 start() 메서드를 호출 해야 합니다. 스레드를 만드는 두 번째 방법은 Thread를 확장하는 새 클래스를 만든 다음 run() 메서드를 재정의한 다음 해당 클래스의 인스턴스를 만드는 것입니다.

run() 메서드는 start()를 호출한 후 스레드에서 실행되는 메서드입니다. 다음은 Java 스레드 하위 클래스를 만드는 예제입니다: TwoThreadsTest 클래스는 두 개의 SimpleThread 스레드를 만드는 기본 메서드를 제공합니다. (휴가를 갈 곳을 결정할 수 없다면 이 프로그램을 사용하여 스레드가 “DONE!” 먼저 인쇄된 섬으로 이동합니다.) 또한 클래스에서 다음과 같은 재정의 방법을 포함, 참조: 스레드 마술 트릭: 5 자바 스레드와 함께 할 수 있는 몰랐다 것 들 이 문서는 많은 사람들이 어렵거나 이해하기 어려운 찾을 모든 자바 스레드 개념을 소개합니다. 다음 예제에서는 이 섹션의 몇 가지 개념을 함께 제공합니다. SimpleThread는 두 개의 스레드로 구성됩니다. 첫 번째는 모든 Java 응용 프로그램이 있는 기본 스레드입니다. 주 스레드는 Runnable 개체인 MessageLoop에서 새 스레드를 만들고 완료될 때까지 기다립니다. MessageLoop 스레드를 완료하는 데 시간이 너무 오래 걸리면 주 스레드가 이를 중단합니다.

이 경우 run()을 재정의한 다음 start() 메서드를 사용하여 스레드를 시작하고 실행해야 합니다. 또한 MyThread 클래스 개체를 만들 때 Thread 클래스 생성자 또한 호출 됩니다., 슈퍼 클래스이므로 MyThread 클래스 개체 스레드 클래스 개체 역할을 합니다. Java 런타임 시스템은 많은 것에 대한 스레드에 따라 달라집니다. 스레드는 CPU 주기의 낭비를 방지하여 비효율성을 줄입니다. 여기서는 스레드 및 Runnable 인터페이스를 사용하여 기본 java 스레드부터 시작하여 스레드를 만들고 관리하는 방법을 보여 드리겠습니다.