1. Java의 멀티스레딩:
java.lang.Thread 클래스 또는 java.lang.Runnable 인터페이스를 사용하여 새 스레드를 정의, 인스턴스화 및 시작하는 코드를 작성합니다.
Thread 클래스 인스턴스는 Java의 다른 객체와 마찬가지로 변수와 메서드를 가지며 힙에서 살다가 죽는 단순한 객체입니다.
Java에서는 각 스레드에 호출 스택이 있습니다. 프로그램에서 새 스레드가 생성되지 않더라도 스레드는 계속 백그라운드에서 실행됩니다.
Java 애플리케이션은 항상 main() 메소드에서 실행을 시작합니다. main() 메소드는 메인 스레드라고 하는 스레드에서 실행됩니다.
새 스레드가 생성되면 새 호출 스택이 생성됩니다.
스레드는 일반적으로 사용자 스레드와 대기 스레드라는 두 가지 범주로 나뉩니다.
모든 사용자 스레드의 실행이 완료되면 JVM이 자동으로 종료됩니다. 그러나 대기 스레드는 JVM과 독립적이지 않습니다. 일반적으로 대기 스레드는 운영 체제나 사용자에 의해 생성됩니다.
스레드를 만드는 두 가지 방법
1. Thread의 하위 클래스를 만들고 fun 메서드를 재정의합니다.
2. Thread의 매개변수가 포함된 생성 방법을 사용하며, 매개변수는 Runnable() 객체입니다.
[java]
//예제 1: (스레드 클래스 상속)
Threadthread1=newThread(){
@Override
publicvoidrun(){
……//실행할 특정 코드는 생략
}
};
//예제 2: ( Runnable 인터페이스 구현)
Threadthread2=newThread(newRunnable(){
@Override
publicvoidrun(){
…. //할 코드 실행 생략
}
});
두 번째 방법은 객체지향적 사고에 더 적합하고 더 유연하기 때문에 일반적으로 두 번째 방법을 사용합니다.
두 메서드 모두 run 메서드를 재정의해야 합니다.
2. JAVA에서 타이머 기능을 구현하는 데 사용되는 두 가지 클래스는 Timer와 TimerTask입니다. Timer 클래스는 작업을 실행하는 데 사용되는 클래스입니다.
매개변수로 Timer에는 작업 실행을 위한 두 가지 모드가 있으며, 가장 일반적으로 사용되는 모드는 두 가지 방법으로 작업을 실행할 수 있습니다. : 특정 시간(데이터), 2: 고정 시간 이후(int 지연) 두 방법 모두 작업 실행 빈도를 지정할 수 있습니다.
[java]
//타이머의 예:
publicstaticvoidmain(String[]args){
classMyTimerTaskextendsTimerTask{//내부 쓰기 클래스는 TimerTask 클래스를 상속하여 타이머
@Override
publicvoidrun(){
x=(x++)%2;
System.out.println("폭격!!");
newTimer().schedule(newMyTimerTask(),2000+2000*x);
}
}
System.out.println(newDate().getSeconds());
newTimer().schedule(newMyTimerTask(),2000);//타이머 생성
}
//구현은 가끔씩 명령문을 출력합니다. 홀수와 짝수의 간격이 다릅니다.
ava 멀티스레딩 및 타이머와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!