자바 다 중 스 레 드 구현 방식
1.Thread 클래스 를 계승 하여 다 중 스 레 드 실현
Thread 클래스 를 계승 하 는 방법 은 제 가 다 중 스 레 드 실현 방식 으로 지정 되 었 음 에 도 불구 하고 Thread 는 본질 적 으로 Runnable 인터페이스 의 인 스 턴 스 를 실현 합 니 다.이것 은 스 레 드 의 인 스 턴 스 를 대표 하고 스 레 드 를 시작 하 는 유일한 방법 은 Thread 류 의 start()인 스 턴 스 방법 입 니 다.start()방법 은 native 방법 으로 새로운 스 레 드 를 시작 하고 run()방법 을 실행 합 니 다.이 방식 은 다 중 스 레 드 를 실현 하 는 것 이 간단 합 니 다.자신의 클래스 를 통 해 직접 extend Thread 를 통 해 run()방법 을 복사 하면 새로운 스 레 드 를 시작 하고 자신 이 정의 한 run()방법 을 실행 할 수 있 습 니 다.예 를 들 면:
public class MaYi extends Thread {
String name;
public MaYi(String name){
this.name = name;
}
public void run(){
while(true){
try {
Thread.sleep(1000);// 1
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(name+" ......");
}
}
}
시작 루틴:
public static void main1(String[] args) {
MaYi m1 = new MaYi("1 ");
m1.start();
MaYi m2 = new MaYi("2 ");
m2.start();
2.Runnable 인터페이스 방식 으로 다 중 스 레 드 실현
자신의 클래스 가 다른 클래스 를 계승 했다 면 extends Thread 를 직접 확장 할 수 없습니다.이 때 Runnable 인 터 페 이 스 를 실현 해 야 합 니 다.다음 과 같 습 니 다.
public class MyThread extends OtherClass implements Runnable {
public void run() {
System.out.println("MyThread.run()");
}
}
MyThread 를 시작 하기 위해 서 는 먼저 Thread 를 실례 화하 고 자신의 MyThread 인 스 턴 스 를 입력 해 야 합 니 다.
MyThread myThread = new MyThread();
Thread thread = new Thread(myThread);
thread.start();
실제로 Runnable target 인 자 를 Thread 에 전송 하면 Thread 의 run()방법 은 target.run()을 호출 합 니 다.JDK 소스 코드 를 참고 하 십시오.
public void run() {
if (target != null) {
target.run();
}
}
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.