JAVA高階程式設計之執行緒池
阿新 • • 發佈:2021-02-11
技術標籤:java高階程式設計java
執行緒池
用於建立多個執行緒
一基本步驟:
- 提供指定執行緒數量的執行緒池
- 執行指定的執行緒的操作。需要提供實現Runnable介面或Callable介面實現類的物件
- 關閉連線池
補充:ExecutorService:真正的執行緒池介面。常見子類ThreadPoolExecutor
二、例題展示
package com.cn.java3;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent. ThreadPoolExecutor;
class NumberThread implements Runnable {
@Override
public void run() {
for (int i = 0; i <= 100; i++) {
if (i % 2 == 0) {
System.out.println(Thread.currentThread().getName() + ": " + i);
}
}
}
}
class NumberThread1 implements Runnable {
@Override
public void run() {
for (int i = 0; i <= 100; i++) {
if (i % 2 != 0) {
System.out.println(Thread.currentThread().getName() + ": " + i);
}
}
}
}
public class ThreadPool {
public static void main(String[] args) {
//1. 提供指定執行緒數量的執行緒池 ExecutorSevice 是介面
ExecutorService service = Executors.newFixedThreadPool(10);
ThreadPoolExecutor service1 = (ThreadPoolExecutor) service;//這裡進行強制轉換為類,便於進行屬性的設定。
//設定執行緒池的屬性
// System.out.println(service.getClass());
// service1.setCorePoolSize(15);
// service1.setKeepAliveTime();
//2.執行指定的執行緒的操作。需要提供實現Runnable介面或Callable介面實現類的物件
service.execute(new NumberThread());//適合適用於Runnable
service.execute(new NumberThread1());//適合適用於Runnable
// service.submit(Callable callable);//適合使用於Callable
//3.關閉連線池
service.shutdown();
}
}
就到這裡啦,謝謝大家❥(^_-)