Java 進程和線程的建立

進程和線程

  1. 進程是系統進行資源分配和調度的基本單位,一個進程至少有一個線程;
  2. 線程是CPU分配的最小單位,真正佔用CPU的是線程;
    main 函數在啓動時,會在JVM中啓動一個進程,而mian函數所在的線程就是這個進程中的一個線程,也稱爲主線程。

Runnable 接口建立線程

實現 Runnable 接口的 run 方法java

Runnable runnable = () -> System.out.println("我是一個子線程");

Thread 相比,由於 Java 不支持多繼承,因此 Runnable 的優點在能夠多實現。ide

Thead 建立線程

Thread thread = new Thread(() -> System.out.println("我是一個子線程"));
thread.start();

FutureTask 建立線程

class CallableDemo implements Callable<Integer> {
    @Override
    public Integer call() {
        int sum = 0;
        for (int i = 0; i < 100; i++) {
            System.out.println(i);
            sum += i;
        }
        return sum;
    }
}
public static void main(String[] args) {
        CallableDemo t = new CallableDemo();
        FutureTask<Integer> ft = new FutureTask<>(t);
        new Thread(ft).start();
        try {
            Integer sum = ft.get();  // 使用 get() 方法等待獲取返回值
            System.out.println("sum = " + sum);
        } catch (InterruptedException | ExecutionException e) {
            e.printStackTrace();
        }
    }
相關文章
相關標籤/搜索