Thread操作

4670 ワード

1.2つのスレッドを開始
 1 public class ThreadTest {

 2 

 3     public static boolean isRun = false;

 4     

 5     @Test

 6     public void mainTest(){

 7         System.out.println(Thread.currentThread().getName());

 8         

 9         Thread readThread = new ReadThread();

10         readThread.setName("readThread");

11         

12         Thread writeThread = new WriteThread();

13         writeThread.setName("writeThread");

14         

15         readThread.start();

16         writeThread.start();

17     }

18 }

19 

20 class ReadThread extends Thread{

21     @Override

22     public void run() {

23         try {

24             //  , 3 

25             //  , , 

26             sleep(3000);

27             System.out.println(Thread.currentThread().getName());

28         } catch (InterruptedException e) {

29             e.printStackTrace();

30         }

31     }

32 }

33 

34 class WriteThread extends Thread{

35     @Override

36     public void run() {

37         System.out.println(Thread.currentThread().getName());

38     }

39 }

2.上記のreadThreadスレッドは比較的時間がかかる(sleepシミュレーション)ため、メインスレッドの実行が完了しているのに、readThreadが実行されていない場合がしばしば発生するので、以下ではメインスレッドがreadThreadを待つように工夫する
スレッドの実行が完了しました: