자바 스 레 드 그룹 작업 사례 분석

본 논문 의 사례 는 자바 스 레 드 그룹 작업 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
눈여겨보다
1.자바 는 ThreadGroup 을 사용 하여 스 레 드 그룹 을 표시 합 니 다.스 레 드 그룹 을 분류 관리 할 수 있 습 니 다.자바 는 프로그램 이 스 레 드 그룹 을 직접 제어 할 수 있 습 니 다.
2.특정한 스 레 드 가 지정 한 스 레 드 그룹 에 가입 하면 이 스 레 드 는 이 스 레 드 그룹 에 속 합 니 다.이 스 레 드 가 죽 을 때 까지 스 레 드 가 중간 에 속 하 는 스 레 드 그룹 을 바 꿀 수 없습니다.
3 Thread 클래스 는 새로 만 든 스 레 드 가 어느 스 레 드 그룹 에 속 하 는 지 설정 하기 위해 다음 과 같은 몇 개의 구조 기 를 제공 합 니 다.
Thread(Thread Group group,Runnable target):target 의 run 방법 으로 스 레 드 실행 체 로 새 스 레 드 를 만 듭 니 다.group 스 레 드 그룹 에 속 합 니 다.
Thread(Thread Group group,Runnable target,String name):target 의 run 방법 으로 스 레 드 실행 체 로 새 스 레 드 를 만 듭 니 다.이 스 레 드 는 group 스 레 드 그룹 에 속 하고 스 레 드 이름 은 name 입 니 다.
Thread(ThreadGroup group,String name):새 스 레 드 를 만 듭 니 다.새 스 레 드 이름 은 name 이 고 group 스 레 드 그룹 에 속 합 니 다.
4 Thread 클래스 는 setThreadGroup 에 속 하 는 스 레 드 그룹 을 바 꾸 는 방법 을 제공 하지 않 았 으 나 getThreadGroup()방법 으로 이 스 레 드 그룹 에 속 하 는 스 레 드 그룹 을 되 돌려 주 었 습 니 다.getThreadGroup()방법의 반환 값 은 ThreadGroup 대상 으로 스 레 드 그룹 을 표시 합 니 다.
5 ThreadGroup 클래스 는 다음 과 같은 두 개의 간단 한 구조 기 를 사용 하여 인 스 턴 스 를 만 듭 니 다.
ThreadGroup(String name):지정 한 스 레 드 그룹 이름 으로 새 스 레 드 그룹 을 만 듭 니 다.
ThreadGroup(ThreadGroup parent,String name):지정 한 이름,지정 한 부모 스 레 드 그룹 으로 새 스 레 드 그룹 을 만 듭 니 다.
실전
코드

class MyThread extends Thread
{
   //            
   public MyThread(String name)
   {
      super(name);
   }
   //        、       
   public MyThread(ThreadGroup group , String name)
   {
      super(group, name);
   }
   public void run()
   {
      for (int i = 0; i < 3 ; i++ )
      {
        System.out.println(getName() + "    i  " + i);
      }
   }
}
public class ThreadGroupTest
{
   public static void main(String[] args)
   {
      //            ,            
      ThreadGroup mainGroup = Thread.currentThread().getThreadGroup();
      System.out.println("       :"
        + mainGroup.getName());
      System.out.println("            :"
        + mainGroup.isDaemon());
      new MyThread("       ").start();
      ThreadGroup tg = new ThreadGroup("    ");
      tg.setDaemon(true);
      System.out.println("tg           :"
        + tg.isDaemon());
      MyThread tt = new MyThread(tg , "tg     ");
      tt.start();
      new MyThread(tg , "tg     ").start();
   }
}

2 운행
메 인 그룹 이름:main
메 인 스 레 드 그룹 이 백 스테이지 스 레 드 그룹 인지 여부:false
tg 스 레 드 그룹 이 배경 스 레 드 그룹 인지 여부:true
메 인 스 레 드 그룹의 스 레 드 스 레 드 i 변수 0
tg 그룹의 스 레 드 갑 스 레 드 i 변수 0
tg 그룹의 스 레 드 갑 스 레 드 i 변수 1
메 인 스 레 드 그룹의 스 레 드 스 레 드 i 변수 1
tg 그룹의 스 레 드 을 스 레 드 i 변수 0
tg 그룹의 스 레 드 을 스 레 드 i 변수 1
tg 그룹의 스 레 드 을 스 레 드 i 변수 2
메 인 스 레 드 그룹의 스 레 드 스 레 드 i 변수 2
tg 그룹의 스 레 드 갑 스 레 드 i 변수 2
설명
먼저 메 인 스 레 드 에 속 하 는 스 레 드 그룹 을 가 져 오고 이 스 레 드 그룹의 관련 속성 에 접근 한 다음 에 새 스 레 드 그룹 을 만 들 고 이 스 레 드 그룹 을 배경 스 레 드 그룹 으로 설정 합 니 다.
더 많은 자바 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기