>  기사  >  Java  >  Java 멀티스레딩 및 타이머

Java 멀티스레딩 및 타이머

高洛峰
高洛峰원래의
2016-12-16 13:46:471432검색

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 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.