Thread 클래스 와 Runable 인터페이스
4655 단어 Java
Thread 는 자바 에서 다 중 스 레 드 를 실현 하 는 클래스 로 Thread 의 run () 방법 은 스 레 드 의 시작 을 실현 합 니 다.Thread 클래스 를 계승 하고 run () 을 덮어 쓰 는 방법 으로 하나의 스 레 드 를 실현 할 수 있 습 니 다.Thread 클래스 는 java. lang 패키지 에서 이 루어 집 니 다. 이 패 키 지 는 기본적으로 불 러 오기 때문에 import 가 필요 없습니다.
ThreadDome01.java
자바 코드
class Demo extends Thread
{
private string name ;
Demo( String name)
{
this.name = name ;
}
public void run()
{
for( int i = 0; i < 10 ; i++ )
System.out.println( this.name + “ running a thread……” ) ;
}
}
//
public class ThreadDome01
{
public static void main( String arg[] )
{
Demo d1 = new Demo(“Thread_1”) ;
Demo d2 = new Demo(“Thread_2”) ;
d1.run() ;
d2.run() ;
}
}
프로그램 ThreadDemo 01. java 에서 두 개의 스 레 드 를 실 행 했 지만 실행 할 때 동시에 실행 되 지 않 았 습 니 다. 주 프로그램 에 두 개의 스 레 드 를 만 들 었 지만 두 개의 스 레 드 순 서 를 실 행 했 기 때 문 입 니 다. 여러 스 레 드 를 동시에 실행 하려 면 다 중 스 레 드 에 대한 운영 체 제 를 시작 해 야 합 니 다. Thread 클래스 의 start () 방법 을 사용 해 야 합 니 다. 주 프로그램 을 다음 으로 변경 하 십시오.
자바 코드
public class ThreadDome01
{
public static void main( String arg[] )
{
Demo d1 = new Demo(“Thread_1”) ;
Demo d2 = new Demo(“Thread_2”) ;
d1.start() ;
d2.start() ;
}
}
메모: start () 는 자동 으로 run () 방법 을 호출 합 니 다. Thread 클래스 의 start () 방법 을 덮어 쓸 필요 가 없습니다.
2. Runable 인터페이스
자바 는 단일 계승 관계 이기 때문에 Thread 류 를 계승 하면 다른 종 류 를 계승 할 수 없 기 때문에 Thread 를 계승 하 는 방법 은 자주 사용 되 지 않 습 니 다. 자바 에 서 는 다 중 스 레 드 를 실현 하 는 방법, 즉 Runable 인 터 페 이 스 를 제공 합 니 다.
Runable 인터페이스 에서 run () 이라는 방법 만 정 의 했 기 때문에 다 중 스 레 드 는 운영 체제 의 지원 이 필요 하고 run () 방법 은 시작 할 수 없 으 며 Thread 류 의 start () 를 통 해 시작 해 야 합 니 다.다 중 스 레 드 를 지원 하 는 운영 체 제 를 시작 합 니 다. Thread 클래스 에서 Runabel 형식의 매개 변 수 를 사용 하 는 구조 함 수 를 제공 합 니 다. 따라서 다 중 스 레 드 를 실현 하 는 방법 은 Runable 인 터 페 이 스 를 먼저 실현 한 다음 Thread (Runable) 를 통 해 스 레 드 를 구축 하고 Thread 의 start () 방법 으로 다 중 스 레 드 를 간접 적 으로 시작 하 는 것 입 니 다. 다음 과 같은 예 를 들 어 다음 과 같 습 니 다.
ThreadDome02.java
자바 코드
class Demo implements Runable
{
private string name ;
Demo( String name)
{
this.name = name ;
}
public void run()
{
for( int i = 0; i < 10 ; i++ )
System.out.println( this.name + “ running a thread……” ) ;
}
}
//
public class ThreadDome02
{
public static void main( String arg[] )
{
Demo d1 = new Demo(“Thread_1”) ;
Demo d2 = new Demo(“Thread_2”) ;
//
Thread t1 = new Thread(d1);
Thread t2 = new Thread(d2);
t1.start() ;
t2.start() ;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.