發表文章

目前顯示的是有「Java」標籤的文章

Java Concurrency

圖片
Java Concurrency 如何使用 Thread : 實作 Runnable Interface : public class HelloRunnable implements Runnable { @Override public void run() { System.out.println("Hello from a thread!"); } public static void main(String args[]) { (new Thread(new HelloRunnable())).start(); } } 繼承 Thread Class : public class HelloThread extends Thread { @Override public void run() { System.out.println("Hello from a thread!"); } public static void main(String args[]) { (new HelloThread()).start(); } } Thread 的運作方式 : Java 程式為從 main 方法開始執行,並依照程式碼的順序由上往下執行。 而 main 方法事實上就是先啟用一個 Thread 並在記憶體中規劃一個 Stack,將程式碼放入其中,把需要呼叫的 Method 依序放入 Stack 中。 當我們在 main 方法中 new 一個新的 Thread 並呼叫 start() 時,這個 Thread 也會在記憶體中規劃一個新的 Stack,並將 run() 的程式碼放入 Stack 中。 Thread 的執行順序是由 CPU 控制的,故每次執行順序都不盡相同。 不同 Thread 使用相同的 Object : 在 Java 中,只會有一個 Heap 區,用來儲存所有被 instance 的 object,不同的 Thread 可以使...