繁体   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