Javaマルチスレッドプログラムの例

2874 ワード

説明:mainはスレッドを表しています。これはメインスレッドです。ThreadまたはRunableインターフェースを継承するクラスをスレッドクラスといい、スレッドクラス内部のrunメソッドはユーザが実行するタスクであり、スレッド体といいます。スレッド体は開発者自身が実現する必要があります。
package com.boonya.base;
/*   */
public class MultipleThread { 
	
	@SuppressWarnings("deprecation")
	public static void main(String[] args) {
		System.out.println("     ");
		ThreadUseExtendsThread thread1=new ThreadUseExtendsThread();     // 1   
		Thread thread2=new Thread(new ThreadUseRunable(), "thread2");      // 2   
		thread1.start();
		thread1.setPriority(6);       //          6
		try {
			 System.out.println("     5 .......");
			 Thread.sleep(5000);       //      5 
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	    System.out.println("     ");
	    if(thread1.isAlive()){
	    	thread1.stop();
	    	System.out.println("thread1      ,     thread1");
	    }else{
	    	 System.out.println("       thread1,thread1        ");
	         thread2.start();                //    2
	    }
	    try {
	    	 System.out.println("     3 ......");
			Thread.sleep(3000);       //      3 
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	    System.out.println("     ");
	    
	    if(thread2.isAlive()){
	    	thread2.stop();
	    	System.out.println("thread2      ,     thread2");
	    }else{
	        System.out.println("       thread2,thread2        ");
	        System.out.println("     ");
	    }
		
	}

}

/*     :---《  1》-------*/
class  ThreadUseExtendsThread extends Thread{
	
	public ThreadUseExtendsThread(){}

	@Override
	public void run() {
		System.out.println("---------  Thread       -------------");
		System.out.println("    5 ");
		System.out.println("     ,   ,              ");
		try {
			 System.out.println("  5 ......");
			Thread.sleep(10000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
}


/*     :---《  2》-------*/
class  ThreadUseRunable  implements Runnable{
	
   public ThreadUseRunable(){}
   
	@Override
	public void run() {
		System.out.println("---------  Thread         Runable  -------------");
		System.out.println("    1 ");
		System.out.println("     ,   ,              ");
		try {
			System.out.println("  1 .......");
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
	
}