java多线程按指定顺序执行

摘要 在java中,多线程按指定顺序执行。方法1. join, 方法2 线程池 Executors.newSingleThreadExecutor()

属于 :API 标签: 发布于:2019-12-22 20:13:30

在java中,多线程按指定顺序执行

方法1. join

package com.demo;

public class Demo2 {
	static Thread t1 = new Thread(new Runnable() {
		@Override
		public void run() {
			System.out.println("t1");
		}
	});
	
	static Thread t2 = new Thread(new Runnable() {
		@Override
		public void run() {
			System.out.println("t2");
		}
	});
	
	static Thread t3 = new Thread(new Runnable() {
		@Override
		public void run() {
			System.out.println("t3");
		}
	});
	
	public static void main(String[] args) {
		try {
			t1.start();
			t1.join();
			t2.start();
			t2.join();
			t3.start();
			t3.join();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}

方法2 线程池 Executors.newSingleThreadExecutor()

package com.demo;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Demo {
	public static void main(String[] args) {
		ExecutorService pool = Executors.newSingleThreadExecutor();
		for(int i=0;i<10;++i) {
			final int number = i;
			pool.execute(()-> {
				System.out.println("I am " + number);
			} );
		}
		pool.shutdown();
	}
}