executorservice相关内容
我有一个在ExecutorService线程池后台执行的长时间运行的任务。在返回进度或中间结果的任务方面,有哪些最佳实践?有没有提供此功能的库? 编辑:为了澄清,我说的是向其他代码报告进度,而不是用户。 通常我会使用SwingWorker,但是我正在使用Grails应用程序的Java / Groovy后端,我不确定在无头服务器环境中它会如何表现,因为它有EDT绑定。 另一个例子是
..
我在我的应用程序中使用 ExecutorService 创建了threadpool,使用下面的代码调用供应商websrvice。 ExecutorService executor = Executors.newFixedThreadPool(getThreadPoolSize()); for(int i = 0; i
..
我有一个多线程实现,我在其中创建一个ExecutorService并提交要执行的任务,我想知道所有线程被提交的时间已经完成而没有阻塞主线程和UI。我已经尝试过 ExecutorService.awaitTermination()但它阻止了主线程和UI。我搜索了很多,但我似乎无法找到一种优雅的方式来做到这一点。我正在考虑创建另一个线程来计算完成的线程数量,并在它们全部完成时启动一个事件,但这不是一个
..
在我们的生产环境中,我们使用Thread Pool Executor来执行runntable任务。我需要为线程池执行器服务开发一个线程池心跳监视系统: 每60秒,需要收集关于线程池执行器的以下统计信息: 1)线程池的大小 2)等待线程的队列长度(持续时间或时间)任务在线程执行前在阻塞队列中等待) 3)上一次心跳间隔期间队列中的平均等待时间 4)当前活动线程 5)
..
我有一个场景,我必须轮询远程服务器,检查任务是否已完成。一旦它有,我会进行不同的调用以检索结果。 我原本认为我应该使用 SingleThreadScheduledExecutor 使用 scheduleWithFixedDelay 进行轮询: ScheduledExecutorService executor = Executors.newSingleThreadScheduledE
..
我想知道2种不同的启动runnables方法的性能和cpu / ram要求 我有一些代码每10ms收集一次传感器数据并插入值到后台线程上的数据库(使用单个线程执行程序)。 Executor服务创建如下: executor = Executors.newSingleThreadExecutor(); 其中一种方法就是...... public void onSensorCh
..
我无法理解为什么这段代码无法编译 ExecutorService executor = new ScheduledThreadPoolExecutor(threads); class DocFeeder实现Callable {....} ... 列表 list = new LinkedList(); li
..
我有一个命令行应用程序,它使用Spring管理的bean,它由java ExecutorService 组成: ExecutorService service = Executors.newFixedThreadPool(4); 现在,我希望我的服务在我的应用程序关闭时关闭,所以我让我的bean实现了 DisposableBean 接口并有一个destroy方法,例如:
..
我正在尝试构建 ExecutorService 的实现,让我们称之为 SequentialPooledExecutor ,具有以下属性。 SequentialPooledExecutor 的所有实例共享相同的线程池 按顺序执行对 SequentialPooledExecutor 的同一实例的调用。 换句话说,实例在开始处理其下一个任务之前等待当前正在执行的任务的终止排队。
..
如果您需要在一台计算机上的jvm内尽可能快地安排大量(非阻塞)任务,我正在计算要使用的计时器实现。 我研究过 ScheduledThreadPoolExecutor 和 HashedWheelTimer 来源(+轮定时器一般文档),这里是基本差异(N - 数字)到目前为止所有未完成的预定任务,C - 轮尺寸): ScheduledThreadPoolExecutor O(log
..
我正在使用缓存线程池ExecutorService来运行一些异步后台任务。我已经提供了我的ThreadFactory,它将线程分发给ExecutorService(只要它需要它们)。我对缓存线程池的理解是,在线程空闲60秒后,它由ExecutorService终止。 我希望在我的线程即将被终止时执行一些状态清理。实现这一目标的最佳方法是什么? ExecutorService不容易为线程的生命
..
如果我使用Executor框架在java中创建一个包含10个线程的固定大小的线程池: private final ExecutorService pool; pool = Executors.newFixedThreadPool(10); 然后尝试提交10个以上的任务(例如12个任务); for(int i = 0; i
..
我在Java中使用 Executors 框架为多线程应用程序创建线程池,我有一个与性能相关的问题。 我有一个可以在实时或非实时模式下工作的应用程序。如果它是实时的,我只是使用以下内容: THREAD_POOL = Executors.newCachedThreadPool(); 但是如果它不是实时的,我希望能够控制我的线程池的大小。 为了做到这一点,我正在考虑2个
..
我是多线程的新手,我正在开发一个项目,我试图在我的Java程序中使用4个CPU。我想做类似的事情 int numProcessors = Runtime.getRuntime()。availableProcessors(); ExecutorService e = Executors.newFixedThreadPool(numProcessors); 这是否可以保证
..
我正在使用来自Guava的ListenableFuture ,关于它们的一个好处是一次传递执行程序到 Futures.addCallback 方法,即要求在给定的线程/执行程序上执行回调。 在我的Android应用程序中,我希望能够在UI线程中基于 ListenableFuture 启动异步执行,并安排一个也在UI线程上执行的回调。因此,我想以某种方式将UI线程执行程序提交到上面提到的 Fu
..
在Java程序中使用执行程序而不仅仅是线程有什么好处。 例如 ExecutorService pool = Executors.newFixedThreadPool(2); void someMethod(){ // Thread new Thread(new SomeRunnable())。start(); // vs //执行者 pool.execut
..
哪个Java同步构造可能为并发迭代处理场景提供最佳的 性能,并且具有 固定数量的线程,如下所示?在我自己尝试 一段时间后(使用ExecutorService和CyclicBarrier)和 对结果感到有些惊讶,我会感激一些 专家建议,也许还有一些新想法。这里的现有问题确实不是主要关注性能,因此这个新问题。 提前致谢! 该应用程序的核心是一个简单的迭代数据处理算法, 并行化,以便
..
我得到了ConcurrentLinkedDeque,我正在使用同步推送/弹出元素, 和我有一些异步任务从堆栈中获取一个元素,如果这个元素有邻居它正在推送它到堆栈。 示例代码: private ConcurrentLinkedDeque stack = new ConcurrentLinkedDeque(); private ExecutorService ex
..
我在多线程环境中经历了不同的并发模型( http:/ /tutorials.jenkov.com/java-concurrency/concurrency-models.html ) 本文重点介绍三个并发模型。 并行工人 第一个并发模型就是我所说的并行工模型。传入的工作分配给不同的工作人员。 装配线 工人在工厂的装配线上被组织成工人。每个工人只执行完整工作的一部分。当
..
我正在学习使用 exectorServices 来汇总线程并发送任务。我有一个简单的程序 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; 类处理器实现Runnable {
..