Java 프로그래밍은 세 부분으로 구성됩니다.
1. JDK 시스템 라이브러리
JRE : Java Runtime Enviroment (Java Runtime Environment), 프로그램 실행 전용.
JDK : Java Development Kit (Java Development Kit), 프로그램 개발이 필요한 경우 JDK를 설치해야합니다.
문자열, 스캐너, 패키징 클래스. . .
java.lang.Thread
javax.servlet.Servlet
2. 타사 라이브러리
비 Java 공식 조직, C3P0 데이터베이스 연결 풀, Spring 프레임 워크, DBUtils, Dom4J에서 제공하는 성숙하고 유용한 도구 ...
github : 세계 최대 게이 데이트 사이트
3. 개발자 정의 코드
특정 비즈니스 요구 사항에 따라 작성된 비즈니스 코드입니다.
Java에서 스레드 사용
- Thread 클래스 상속
1. 사용자 정의 클래스를 만들고 Thread 클래스를 상속합니다.
2. Thread 클래스에서 run 메서드를 다시 작성하고 스레드의 비즈니스 논리 코드를 작성합니다.
package com.southwind.test;
public class MyThread extends Thread {
@Override
public void run() {
// TODO Auto-generated method stub
//定义业务逻辑
for(int i = 0;i<10;i++) {
System.out.println("-------------MyThread");
}
}
}
3. 사용.
package com.southwind.test;
public class Test {
public static void main(String[] args) {
//开启两个子线程
MyThread thread1 = new MyThread();
MyThread2 thread2 = new MyThread2();
thread1.start();
thread2.start();
}
}
참고 : run 메서드 호출은 일반 개체의 실행과 동일하고 CPU 리소스를 가져 오지 않기 때문에 스레드 작업을 호출하는 데 run 메서드를 사용할 수 없습니다.
start 메소드를 통해서만 스레드를 시작하여 CPU 자원을 확보 할 수 있으며, 스레드가 CPU 자원을 확보하면 자동으로 run 메소드가 호출됩니다.
- Runnable 인터페이스 구현
1. 사용자 정의 클래스를 만들고 Runnable 인터페이스를 구현합니다.
2. 실행 메소드를 구현하고 스레드의 비즈니스 로직 코드를 작성하십시오.
package com.southwind.test;
public class MyRunnable implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<1000;i++) {
System.out.println("========MyRunnable=======");
}
}
}
3. 사용.
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start();
MyRunnable2 runnable2 = new MyRunnable2();
Thread thread2 = new Thread(runnable2);
thread2.start();
스레드 및 작업 :
스레드는 CPU 리소스를 선점합니다. 태스크는 특히 비즈니스 로직을 실행합니다. 스레드에는 태스크가 포함됩니다. 스레드가 시작됩니다. 리소스가 선점되면 태스크가 실행 (실행)되기 시작합니다.
두 가지 방법의 차이점 :
1. Thread 클래스를 상속받은 MyThread는 클래스의 run 메소드를 직접 오버라이드하고 사용시에는 Thread 내부에 Runnable이 있으므로 MyThread를 직접 인스턴스화하여 시작한다.
2. Runnable 인터페이스를 구현하는 메소드 인 MyRunnbale은 구현 클래스에서 run 메소드를 다시 작성하며,이를 사용하는 경우 먼저 Thread 객체를 생성 한 후 Thread.start에 MyRunnable을 삽입해야합니다.
두 번째 방법은 실제 개발에 권장됩니다.
온라인 그리기 소프트웨어 :
https://www.processon.com/diagrams
스레드 상태
쓰레드는 5 가지 상태가 있으며, 특정 상황에서 쓰레드는 서로 다른 상태로 전환 할 수 있으며 5 가지 상태는 다음과 같습니다.
- 생성 상태 : 아직 시작되지 않은 새 스레드 개체를 인스턴스화합니다.
- 준비 상태 : 생성 된 스레드 개체는 시작 메서드를 호출하여 시작을 완료하고 스레드 풀에 들어가 CPU 리소스를 기다립니다.
- 실행 상태 : 스레드 개체가 CPU 리소스를 획득하고 일정 시간 내에 작업을 실행합니다.
- 차단 상태 : 실행중인 스레드는 작업 실행을 일시 중단하고, 점유 된 CPU 리소스 를 해제하고, 차단 해제 후 직접 실행 상태로 돌아갈 수 없지만 CPU 리소스를 기다리는 준비 상태로 돌아갑니다.
- 종료 상태 : 스레드가 실행을 완료했거나 예외로 인해 스레드가 종료되었습니다.