1. 程式人生 > >java多執行緒之Join

java多執行緒之Join

在java執行緒的三大特性中,其中有一個特性是有序性。那麼這個有序是如何實現的呢?其實實現的方式就是使用JOIN,jion的功能是在當前執行緒沒有走完前,讓其它執行緒都進入等待狀態。只有在當前執行緒走完後,其它執行緒才能走。這樣就產生了有序性。

有序性程式碼:

class JoinThread extends Thread{
	@Override
	public void run() {
		for (int i = 0; i <10; i++) {
			System.out.println(Thread.currentThread().getName()+":"+i);
		}
	}
}
public class ThreadJoin {
	public static void main(String[] args) throws InterruptedException {
		//多執行緒之JOIN 有序
		JoinThread thread1 = new JoinThread();
		thread1.start();
		thread1.join();
		JoinThread thread2 = new JoinThread();
		thread2.start();
		thread2.join();
		JoinThread thread3 = new JoinThread();
		thread3.start();
		thread3.join();
		JoinThread thread4 = new JoinThread();
		thread4.start();
	}
}
最後得到的結果是:
Thread-0:0
Thread-0:1
Thread-0:2
Thread-0:3
Thread-0:4
Thread-0:5
Thread-0:6
Thread-0:7
Thread-0:8
Thread-0:9
Thread-1:0
Thread-1:1
Thread-1:2
Thread-1:3
Thread-1:4
Thread-1:5
Thread-1:6
Thread-1:7
Thread-1:8
Thread-1:9
Thread-2:0
Thread-2:1
Thread-2:2
Thread-2:3
Thread-2:4
Thread-2:5
Thread-2:6
Thread-2:7
Thread-2:8
Thread-2:9
Thread-3:0
Thread-3:1
Thread-3:2
Thread-3:3
Thread-3:4
Thread-3:5
Thread-3:6
Thread-3:7
Thread-3:8
Thread-3:9
怎麼樣是不是已經瞭解了java執行緒的有序性是如何實現的呢。其實在三大特性裡還有兩種,分別是原子性和可見性。原子性是關於資料安全問題,而可見性則是對多個執行緒共享同一個變數能夠快速重新整理看見。