簡體   English   中英

Java 多線程中的單線程ExecutorService

[英]ExecutorService with single thread in Java Multithreading

在 java 多線程中使用單線程創建 ExecutorService 有什么意義,這意味着為什么不創建單個單獨的線程而不是使用單線程創建 ExecutorService?

在哪種情況下哪個更可取?

用單線程創建 ExecutorService 有什么意義?

有時您的應用程序會生成多個任務,這些任務可能與程序的 rest 並發執行,但不得彼此同時執行。 我喜歡告訴學生,“如果你想讓你的程序按照特定的順序做事,最好的方法是讓程序在一個線程中完成所有這些事情。” 因此,如果您希望程序按特定順序執行一系列“后台”任務,那么單線程執行器可能正是您所需要的。

為什么不創建單個單獨的線程?

因為如果您所做的只是實例化一個new Thread(...) ,那您就無法向它提交任務。 如果您希望能夠要求該線程執行不同的任務,那么您必須編寫允許它發生的代碼,並且當您完成編寫該代碼時,您實際上已經重新發明了一個執行器服務。

單線程執行器服務會創建一個單獨的線程,然后它會執行其他操作。 “其他東西”增加了價值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM