java多執行緒原理

wyfem發表於2021-09-11

java多執行緒原理

本教程操作環境:windows7系統、java10版,DELL G3電腦。

1、多執行緒中的執行緒池原理

(1)判斷執行緒池中的核心執行緒是否都在執行任務,如果沒有(核心執行緒是閒置的,或者核心執行緒是無用的),建立一個新的工作執行緒來執行任務。如果核心執行緒都在執行任務,則進入下一個過程。

2)執行緒池判斷工作佇列是否已滿。如果工作佇列沒有滿,將新提交的任務儲存在這個工作佇列中。如果工作佇列滿了,進入下一個過程。

(3)判斷執行緒池中的執行緒是否處理工作狀態,如果沒有,建立一個新的工作執行緒來執行任務。如果滿了,就交給飽和策略來處理這個任務。

2、多執行緒的例項

public class Test implements Runnable {
    @Override
    public void run() {
        try {
            Thread.sleep(10);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
 
    static ExecutorService service = newFixedThreadPool(3);
 
    public static void main(String[] args) {
        for (int i=0;i<100;i++) {
            service.execute(new Test());
        }
 
        service.shutdown();
    }
}

以上就是java多執行緒的原理分析,在多執行緒中主要用到的是執行緒池的使用,需要我們對其執行的原理有所理解,才能更好的熟練使用多執行緒。更多程式設計基礎知識學習:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2894/viewspace-2829888/,如需轉載,請註明出處,否則將追究法律責任。

相關文章