Java 創建多線程三種方式

1、Java 多線程三種方式

1.繼承Thread

2.實現Runnable

3.實現Callable

2、繼承Thread

public class ThreadDemo extends Thread {

	public void run() {
		System.out.println("線程名稱:"+this.getName()+"-----線程Id:"+this.getId());
	}
	
	public static void main(String[] args) {
		new ThreadDemo().start();
	}
	
}

3、實現Runnable

public class RunnableDemo implements Runnable {

	public void run() {
		System.out.println("線程名稱:"+Thread.currentThread().getName()+"-----線程Id:"+Thread.currentThread().getId());
	}

	public static void main(String[] args) {
		new Thread(new RunnableDemo()).start();
	}
	
}

4、實現Callable

public class CallableDemo implements Callable<String> {

	private String attribute;
	
	public CallableDemo(String attribute) {
		this.attribute = attribute;
	}
	
	@Override
	public String call() throws Exception {
		return attribute;
	}

	public static void main(String[] args) throws InterruptedException, ExecutionException {
		ExecutorService executor = Executors.newCachedThreadPool();
		/**
		 * FutureTask
		 */
		FutureTask<String> futureTask = new FutureTask<>(new CallableDemo("FutureTask"));
		executor.submit(futureTask);
		/**
		 * Future
		 */
		Future<String> future = executor.submit(new CallableDemo("Future"));
		
		System.out.println("FutureTask獲取執行結果:" + futureTask.get());
		System.out.println("Future獲取執行結果:" + future.get());
	}
	
}

 

發佈了76 篇原創文章 · 獲贊 54 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章