91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java多線程實現的方法有哪些

小億
83
2023-12-28 11:46:22
欄目: 編程語言

Java實現多線程的方法有以下幾種:

  1. 繼承Thread類:創建一個繼承自Thread類的子類,并重寫run()方法,在run()方法中定義線程的執行邏輯。
public class MyThread extends Thread {
    public void run() {
        // 線程的執行邏輯
    }
}

public class Main {
    public static void main(String[] args) {
        MyThread thread = new MyThread();
        thread.start(); // 啟動線程
    }
}
  1. 實現Runnable接口:創建一個實現了Runnable接口的類,并實現run()方法,在run()方法中定義線程的執行邏輯。
public class MyRunnable implements Runnable {
    public void run() {
        // 線程的執行邏輯
    }
}

public class Main {
    public static void main(String[] args) {
        MyRunnable runnable = new MyRunnable();
        Thread thread = new Thread(runnable);
        thread.start(); // 啟動線程
    }
}
  1. 使用Callable和Future:創建一個實現了Callable接口的類,并實現call()方法,在call()方法中定義線程的執行邏輯。使用ExecutorService的submit()方法提交Callable任務,并通過Future對象獲取任務的返回結果。
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class MyCallable implements Callable<Integer> {
    public Integer call() {
        // 線程的執行邏輯,返回一個結果
        return 1;
    }
}

public class Main {
    public static void main(String[] args) throws Exception {
        MyCallable callable = new MyCallable();
        ExecutorService executorService = Executors.newSingleThreadExecutor();
        Future<Integer> future = executorService.submit(callable);
        int result = future.get(); // 獲取任務的返回結果
        System.out.println(result);
        executorService.shutdown();
    }
}
  1. 使用線程池:創建一個線程池,通過submit()方法提交Runnable或Callable任務,線程池會自動分配線程執行任務。
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class MyRunnable implements Runnable {
    public void run() {
        // 線程的執行邏輯
    }
}

public class Main {
    public static void main(String[] args) {
        ExecutorService executorService = Executors.newFixedThreadPool(10); // 創建一個固定大小的線程池
        executorService.execute(new MyRunnable()); // 提交任務
        executorService.shutdown(); // 關閉線程池
    }
}

0
澄迈县| 湘潭县| 紫阳县| 南康市| 育儿| 镇远县| 湖口县| 常熟市| 长岛县| 东山县| 龙游县| 长子县| 黔南| 长垣县| 双辽市| 闻喜县| 井研县| 东海县| 榆林市| 都昌县| 富宁县| 泰兴市| 内乡县| 永宁县| 海林市| 东方市| 丽水市| 即墨市| 田东县| 甘德县| 伊吾县| 大厂| 精河县| 普兰店市| 福建省| 冀州市| 鄂伦春自治旗| 博爱县| 克山县| 布尔津县| 行唐县|