Java 스레드 프로그래밍의 기본 스레드 설명

2935 단어 Java라인
Java 프로그램이 시작될 때, 하나의 루틴이 바로 실행됩니다. 이 루틴은 일반적으로 프로그램의 메인 루틴 (main thread) 이라고 합니다. 왜냐하면 이것은 프로그램이 시작될 때 실행되기 때문입니다.주요 스레드의 중요성은 다음과 같은 두 가지 측면에 있습니다.
  • 그것은 다른 하위 라인을 생성하는 라인이다
  • 여러 가지 닫기 동작을 수행하기 때문에 보통 마지막에 실행을 끝내야 한다..
  • 프로그램이 시작될 때 주 루틴이 자동으로 만들어지지만,Thread 대상이 제어할 수 있습니다.이를 위해,currentThread () 를 호출하여 인용을 얻어야 합니다.currentThread () 는Thread 클래스의 공유된 정적 구성원입니다.일반적인 형식은 다음과 같습니다.
    
      static Thread currentThread( )
    이 방법은 호출된 라인의 인용을 되돌려줍니다.일단 네가 주 라인의 인용을 얻게 되면, 너는 다른 라인을 제어하는 것처럼 주 라인을 제어할 수 있다.
    다음 예제를 복습하는 것부터 시작합시다.
    
    // Controlling the main Thread.
    class CurrentThreadDemo {
      public static void main(String args[]) {
        Thread t = Thread.currentThread();
        System.out.println("Current thread: " + t);
        // change the name of the thread
        t.setName("My Thread");
        System.out.println("After name change: " + t);
        try {
          for(int n = 5; n > 0; n--) {
            System.out.println(n);
            Thread.sleep(1000);
          }
        } catch (InterruptedException e) {
          System.out.println("Main thread interrupted");
        }
      }
    }
    
    이 프로그램에서 현재 스레드 (자연은 주 스레드) 의 인용은currentThread () 를 호출하여 얻을 수 있으며, 이 인용은 국부 변수 t에 저장됩니다.그리고 프로그램은 라인의 정보를 보여 줍니다.다음 프로그램에서 setName () 을 호출하여 스레드의 내부 이름을 변경합니다.스레드 정보가 또 표시됩니다.그리고 한 순환 수는 5부터 점차 줄어들며, 한 번씩 1초 동안 멈춘다.일시 정지는 sleep () 방법으로 이루어집니다.Sleep () 문구는 지연 시간을 1ms로 명시합니다.순환 외의try/catch 블록을 주의하십시오.
    Thread 클래스의 sleep () 방법은 InterruptedException 이상을 일으킬 수 있습니다.이런 상황은 다른 라인이 잠든 라인을 방해하려고 할 때 발생한다.이 예는 단지 끊어졌는지 아닌지의 메시지를 인쇄했을 뿐이다.실제 절차에서, 너는 반드시 이런 문제를 유연하게 처리해야 한다.다음은 프로그램의 출력입니다.
    
    Current thread: Thread[main,5,main]
    After name change: Thread[My Thread,5,main]
    5
    4
    3
    2
    1
    t가 문장println () 의 매개 변수로 운용될 때 출력되는 것을 주의하십시오.이 표시 순서: 스레드 이름, 우선순위 및 그룹 이름입니다.기본적으로 메인 라인의 이름은main입니다.그것의 우선순위는 5입니다. 이것도 기본값이고main도 소속 루틴 그룹의 이름입니다.하나의 스레드 그룹 (thread group) 은 스레드를 하나의 전체적인 집합 상태로 제어하는 데이터 구조이다.이 과정은 전유의 운행 시 환경에 의해 처리되므로 여기서 군더더기 말할 필요가 없다.스레드 이름이 바뀌면 t가 출력됩니다.이번에는 새로운 스레드 이름을 표시했다.
    프로그램의 Thread 클래스 정의 방법을 자세히 살펴보겠습니다.sleep () 방법은 밀리초급의 시간 지시에 따라 스레드를 호출에서 끊기까지 합니다.일반적인 형식은 다음과 같습니다.
    
      static void sleep(long milliseconds) throws InterruptedException
    일시 중지 시간은 밀리초로 명시적으로 정의됩니다.이 방법은 InterruptedException 이상을 일으킬 수 있습니다.
    sleep () 방법은 두 번째 형식이 있습니다. 다음과 같습니다. 이 방법은 밀리초인지 납초인지를 주기로 지정할 수 있습니다.
    
      static void sleep(long milliseconds, int nanoseconds) throws InterruptedException
    두 번째 형식은 납초를 시간 주기로 허용할 때만 사용할 수 있다.상기 프로그램에서 보듯이 setName () 으로 스레드 이름을 설정하고, getName () 으로 스레드 이름을 얻을 수 있습니다. 이 과정은 프로그램에서 나타나지 않습니다.이러한 메서드는 다음과 같이 Thread 클래스의 구성원입니다.
    
      final void setName(String threadName)
      final String getName( )
    여기,threadName은 스레드 이름을 지정합니다.

    좋은 웹페이지 즐겨찾기