Thread創建方式

Java線程使用的是搶佔式調度,誰優先級高誰先運行,優先級一樣則隨機

繼承Thread類

自定義類並重寫其run()方法

public class MyThreadCreate01 extends Thread{
	
	@Override
	public void run() {
		for(int i = 0;i<=50;i++) {
			//currentThread()獲取當前線程的對象
			//getName()獲取線程的名字
			System.out.println(currentThread().getName()+"繼承了Thread類的線程"+i);
		}
	}
}
@Test
	public void test01(){
		MyThreadCreate01 thread01 = new MyThreadCreate01();
		MyThreadCreate01 thread02 = new MyThreadCreate01();
		
		thread01.start();
		thread02.start();
		
		for(int i = 0;i<=50;i++) {
			System.out.println("啦啦啦啦"+i);
		}
	}

調用Thread的start()方法即可開啓線程

實現Runnable接口

public class MyThreadCreate02 implements Runnable{

	@Override
	public void run() {
		for(int i = 0;i<50;i++) {
			System.out.println(Thread.currentThread().getName()+"實現Runnable接口的線程"+i);
		}
	}
}

然後創建對象,在將對象作爲參數傳入Thread的構造函數中,然後用Thread對象開啓線程

@Test
	public void test02() {
		MyThreadCreate02 myThread = new MyThreadCreate02();
		Thread thread01 = new Thread(myThread);
		Thread thread02 = new Thread(myThread);
		
		thread01.start();
		thread02.start();
		
		for(int i = 0;i<=50;i++) {
			System.out.println("哈哈哈哈"+i);
		}
		
	}

使用匿名內部類創建線程

@Test
	public void test03() {
		//第一種方式,使用Thread的匿名內部類
		new Thread() {
			public void run() {
				for(int i = 0;i<100;i++) {
					System.out.println(Thread.currentThread().getName()+"Thread的匿名內部類創建線程"+i);
				}
			}
		}.start();
		
		//使用匿名內部類的方式實現Runnable接口,重新Runnable接口中的run方法
		Runnable runnable = new Runnable() {
			
			@Override
			public void run() {
				for(int i = 0;i<100;i++) {
					System.out.println(Thread.currentThread().getName()+"Runnable接口的匿名內部類"+i);
				}
			}
		};
		new Thread(runnable).start();
	}

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章