executorservice相关内容

多线程:多个线程与同一个表进行交互

面试问题 说,我们有一个表,在Employee表中有200万条记录,我们需要削减每位员工的10%薪水(需要做一些处理),然后将其保存回集合.您如何有效地做到这一点. 我问他我们可以使用executor框架来创建多个线程,这些线程可以从表中获取值,然后我们可以对其进行处理并将其保存到列表中. 然后他问我,您将如何检查记录是否已处理,那里我一无所知(该怎么做). 即使我不确定自 ..
发布时间:2020-05-14 01:36:39 Java开发

Java ExecutorService-有时比顺序处理慢吗?

我正在编写一个简单的实用程序,该实用程序接受一组Callable任务,并并行运行它们.希望总花费的时间很少,而不是最长的任务所花费的时间.该实用程序还添加了一些错误处理逻辑-如果任何任务失败,并且该失败可以被视为“可重试"(例如超时或用户指定的异常),则我们直接运行该任务. /p> 我已经在ExecutorService周围实现了该实用程序.有两个部分: 将所有Callable任务提交给E ..
发布时间:2020-05-14 01:30:39 Java开发

ExecutorService-如何以非阻塞方式等待所有任务的完成

我正在 Java Web服务器应用程序中使用ExecutorService来并行执行一些计算任务,然后用awaitTermination()调用shutdown()来等待所有任务完成.整个计算有时可能需要数十分钟. 问题是awaitTermination()方法阻塞主线程,直到超时(或中断)为止,但我只想启动任务并立即响应对客户端和之后所有任务的竞争都会导致服务关闭(始终关闭线程池的惯例). ..
发布时间:2020-05-14 01:23:18 Java开发

在后台线程中运行的可编辑任务队列

我知道这个问题已经回答了很多遍,但是我一直在努力了解它的工作原理. 因此,在我的应用程序中,用户必须能够选择要添加到队列中的项目(使用ObservableList显示在ListView中),并且每个项目都需要由ExecutorService顺序处理. 该队列也应该是可编辑的(更改顺序并从列表中删除项目). private void handleItemClicked( ..
发布时间:2020-05-14 01:22:42 Java开发

Java执行器和长寿命线程

我继承了一些使用Executors.newFixedThreadPool(4)的代码;运行4个寿命长的线程来完成应用程序的所有工作. 这是推荐的吗?我已阅读实践中的Java并发性而且关于如何管理长期存在的应用程序线程似乎没有太多指导. 建议和启动整个应用程序整个生命周期的多个线程的建议方法是什么? 解决方案 您提到代码正在使用Executors,它应该返回ExecutorSer ..
发布时间:2020-05-14 00:59:51 Java开发

ThreadPool不会按顺序运行任务

我正在专门使用Executor框架Executors.newCachedThreadPool(); 我有一个Runnable的列表,例如100. 前50个,每个都会创建一个值(存储在列表中),供后50个使用. 我以为如果我按列表中的顺序通过executor.execute()中的Runnable,它们将是 也以相同的顺序执行. 但这没有发生. 任务似乎是随机执行的,它们是交错的,而不是按 ..
发布时间:2020-05-14 00:38:33 Java开发

ScheduledThreadPoolExecutors和自定义队列

如果使用ThreadPoolExecutor,我可以使用多种构造函数,并且可以将自己的队列传递/使用池的工作队列. 现在,我看到ScheduledThreadPoolExecutor是ThreadPoolExecutor的子类,但构造函数要少得多. 有没有办法使用ScheduledThreadPoolExecutor并仍然使用我自己的工作队列? 解决方案 您可以扩展ScheduledT ..
发布时间:2020-05-14 00:34:30 Java开发

newCachedThreadPool如何重用线程?

javadoc说Executors.newCachedThreadPool返回的服务会重用线程.这怎么可能? 线程只能通过调用start启动一次.那么他们如何实现呢?此服务的线程正在无限循环中运行,并且它们的Runnable -s是否按需替换? 解决方案 一个Runnable可以调用另一个Runnable. 每个线程仅运行一个主Runnable,但该Runnable从共享的Block ..
发布时间:2020-05-14 00:29:17 Java开发

为什么java ExecutorService newSingleThreadExecutor产生两个线程?

我有一个示例Java代码,在该代码下,如果作为控制台应用程序运行,其行为将达到我的预期(生成单个线程来执行可运行对象). 我看到的奇怪行为(产生两个线程-下面的示例)是当我使用Apache的prunsrv64.exe作为服务应用程序运行此示例时. 我正在64位Windows 7计算机上对此进行测试. 样本输出: Thread -28 Current time: 09: ..

Java线程池ExecutorService:线程执行顺序

当我们使用Java的Executor服务创建线程池并将线程提交到该线程池时,这些线程的执行顺序是什么? 我想确保线程先提交,然后先执行. 例如,在下面的代码中,我希望先执行前5个线程,然后再执行下5个线程,依此类推... // Create a thread pool of 5 threads. ScheduledExecutorService exService = Executor ..
发布时间:2020-05-14 00:20:14 Java开发

仅在ExecutorService中使用线程的子集

在典型的JAVA应用程序中,可以配置一个全局ExecutorService来管理全局线程池.可以说我配置了一个包含100个线程的固定线程池: ExecutorService threadPool = Executors.newFixedThreadPool(100); 现在可以说,我有一个要上传到服务器的1000个文件的列表,对于每次上传,我都会创建一个可调用的文件,以处理该文件的上传. ..
发布时间:2020-05-13 23:42:05 Java开发

如何在多线程环境中更好地使用ExecutorService?

我需要创建一个库,其中将包含同步和异步方法. executeSynchronous()-等待直到得到结果,然后返回结果. executeAsynchronous()-立即返回一个Future,如果需要,可以在完成其他操作之后进行处理. 我的图书馆的核心逻辑 客户将使用我们的库,他们将通过传递DataKey构建器对象来调用它.然后,我们将使用该DataKey对象构造一个URL,并 ..
发布时间:2020-05-13 23:36:32 Java开发

在库中实现同步和异步方法的正确方法是什么?

我需要创建一个具有同步和异步功能的库. executeSynchronous()-等待直到得到结果,然后返回结果. executeAsynchronous()-立即返回一个Future,如果需要,可以在完成其他操作之后进行处理. 我的图书馆的核心逻辑 客户将使用我们的库,他们将通过传递DataKey构建器对象来调用它.然后,我们将使用该DataKey对象构造一个URL,并通过执 ..

带有ArrayBlockingQueue的ThreadPoolExecutor

我开始从Java Doc中阅读有关ThreadPoolExecutor的更多信息,因为我正在其中一个项目中使用它.因此,谁能解释这行的实际含义吗?-我知道每个参数代表什么,但是我想从这里的一些专家那里以更一般/通俗易懂的方式来理解它. ExecutorService service = new ThreadPoolExecutor(10, 10, 1000L, TimeUnit.MILLIS ..
发布时间:2020-05-13 22:55:12 Java开发