java多執行緒之Join
阿新 • • 發佈:2019-02-13
在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(); } }
怎麼樣是不是已經瞭解了java執行緒的有序性是如何實現的呢。其實在三大特性裡還有兩種,分別是原子性和可見性。原子性是關於資料安全問題,而可見性則是對多個執行緒共享同一個變數能夠快速重新整理看見。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