ICode9

精准搜索请尝试: 精确搜索
  • java – 优化许多文件的并行处理2019-07-25 23:01:01

    我有一个程序处理大量文件,每个文件需要做两件事:首先,读取并处理文件的一部分,然后存储生成的MyFileData.第一部分可以并行化,第二部分不能. 按顺序执行所有操作非常慢,因为CPU必须等待磁盘,然后它会工作一点,然后它会发出另一个请求,然后再次等待… 我做了以下 class MyCallable

  • java – 当executorservice关闭时,运行/阻止runnables会发生什么?2019-07-22 02:04:19

    我今天发布了一个关于线程模式的question,几乎所有人都建议我查看ExecutorService. 当我查看ExecutorService时,我想我错过了一些东西.如果服务有运行或阻塞的线程,并且有人调用ExecutorService.shutdown(),会发生什么.正在运行或阻止的线程会发生什么? ExecutorService在终止之前是

  • Java 线程池和多线程编程 ——线程池理解与创建2019-07-18 18:55:16

    JDK1.5 引入了 Executor框架 ,对任务提交和执行进行解耦 , 定义任务后交由线程池执行。 线程池是由java.util.concurrent 包中Executors类的工厂方法创建线程池。 --------------------------------------------------------------------------------    创建一个可重用固定线程

  • java – FixedThreadPool不够平行2019-07-16 20:04:04

    我使用forPool = Executors.newFixedThreadPool(poolSize)创建一个固定的线程池;其中poolSize初始化为处理器上的核心数(假设为4).在某些运行中,它运行正常,CPU利用率始终为400%. 但有时,使用量下降到100%,并且从未上升到400%.我预定了1000个任务,所以问题不是这样.我捕获每个异常,但

  • 了解Java ExecutorService2019-07-16 10:01:19

    我正在尝试学习如何使用Java的executorservice, 我正在阅读以下讨论Java thread simple queue 在这里有一个示例 ExecutorService service = Executors.newFixedThreadPool(10); // now submit our jobs service.submit(new Runnable() { public void run() { do_some_wor

  • ExecutorService2019-07-14 22:43:38

    ExecutorService / Executor / Executors Executor是超类接口,ExecutorService继承了Executor,然后我们常用的类ScheduledThreadPoolExecutor, ThreadPoolExecutor实现了ExecutorService,Executors是工具类,可用于创建ExecutorService的子类。 ThreadPoolExecutor 几个参数说明: C

  • 线程池2019-07-11 16:37:01

    package cn.dali3.code08; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /*线程池: * 在jdk1.5之后,java为我们提供了现成的线程池,可以直接使用。 * 线程池的作用就是在程序第一次启动的时候,创建多个线程放到一个集合中,排列方法类

  • java – 并发:如何使用传入和传出队列实现执行程序?2019-07-11 07:03:10

    众所周知,ThreadPoolExecutor使用一些BlockingQueue作为传入任务的队列.我想要的是让ThreadPoolExecutor为任务结果准备好第二个队列.我想将此队列用作发送或存储这些结果的输入/输出服务的源. 为什么我要创建一个单独的队列?因为我想要将结果的发送与获取结果的动作分开.另外,我认

  • java – ExecutorService – 使用特定时间限制执行每个任务2019-07-10 14:14:08

    我正在创建一个ExecutorService来执行一些任务,这些任务在正常情况下预计需要一分钟才能完成,但在任何情况下都不允许从任务开始后运行超过两分钟. 我的代码如下: ExecutorService executorService = Executors.newFixedThreadPool(10); ArrayList<Future<?>> futuresList = new Ar

  • 使用ExecuterService的多个SwingWorkers无法正常工作2019-07-09 18:00:32

    我正在使用swing并且在我的应用程序中我需要并行运行多个线程,例如每隔5秒检查一次互联网连接,监视文件系统更改,从服务器协调文件. 上面所有耗时的任务都在SwingWorker中运行,因此我的GUI不应该冻结. 同时我需要运行一些其他耗时的任务,例如将文件上传到服务器.为此,我也使用了swi

  • java – 在Executor服务中的ThreadPool中添加线程2019-07-09 08:00:35

    我正在进行多线程程序,我正在尝试确保每个线程运行30分钟.假设我们有10个线程,那么10个线程中的每个线程应运行30分钟. 以下是我的代码 – class ThreadTask implements Runnable { private final long endTime; public ThreadTask(long endTime) { this.endTim

  • java – ScheduledExecuterService.scheduleAtFixedRate创建多个线程池 – Android2019-07-09 06:33:51

    我的Android应用程序中有一个名为UploadManager的AsyncTask,它检查已处理的项目,并将它们上传到服务器. 为此,我使用ScheduledExecutorService.scheduleAtFixedRate每1分钟检查一次项目,并将它们上传到服务器.但是,有时会创建多个线程池(这种情况发生在10%的时间),因此有时会向服务

  • java – 如何覆盖executorService shutdown方法2019-07-06 04:02:57

    我正在创建自己的线程池和将来可以执行可调用接口并行的对象. Executor提供shutdown方法来阻止所有工作线程运行.如果我正在创建一个类似下面的线程池,我应该如何在所有线程完成执行后实现shutdown方法停止? 我的自定义线程池看起来像this class MyThreadPool implements java.util

  • java – 谁关闭了我的遗嘱执行人?2019-07-04 00:47:33

    我有一台服务器使用在服务器启动时创建的执行服务: simpleExecutorService = Executors.newFixedThreadPool(nThreads, new MyThreadFactory(threadFactoryName)); 然后我使用执行程序服务实例来执行某些任务.但过了一会儿(30分钟左右)我得到了这个: java.util.concurrent.Rejecte

  • java – ExecutorService awaitTermination方法未按预期执行2019-07-03 01:58:43

    我正在尝试用Java编写一个同时执行一系列任务的进程,等待完成任务,然后将整个进程标记为完成.每个任务都有自己的信息,包括个别任务何时完成.我正在使用ExecutorService进行处理,并将流程的本质归结为如下: List<Foo> foos = getFoos(); ExecutorService executorService = Executo

  • java – Future.cancel()没有取消ScheduledExecutorService的计划执行2019-07-02 22:56:55

    我正在安排一项任务: ScheduledExecutorService dataService = Executors.newScheduledThreadPool(1); Future<?> dataTimerHandle = dataService.scheduleAtFixedRate(runnable, 100, freq, TimeUnit.MILLISECONDS); 这没有缺陷,工作正常. 但是,当某个标志在用户操作中变为true时

  • java – 为什么ExecutorService.awaitTermination()在提交的任务完成之前成功2019-07-01 19:48:26

    在我的代码中,我有许多执行器服务作为管道运行,因为第一个执行器服务可以向任何后来的执行器服务提交任务,但从不反过来. services.add(songLoaderService); services.add(AcoustIdMatcher.getExecutorService()); services.add(SongPrematcherMatcher.getExecutorService()

  • java – 正确提交并等待ExecutorService终止的方法2019-06-28 06:50:22

    我正在学习如何使用ExecutorService在Java中使用线程池,这是我正在研究的一个例子: public class Example { static class WorkerThread implements Runnable { private String command; public WorkerThread(String s) { this.command = s;

  • java – 如何在所有线程完成执行后退出ExecutorService?2019-06-27 17:01:17

    参见英文答案 > How to properly shutdown java ExecutorService                                    2个 这是正在运行的代码,但我明确指定了等待时间.当所有线程都完成执行时,有没有办法退出ExecutorService. ExecutorService es = Ex

  • java – ExecutorService与CompletableFuture2019-06-27 09:50:42

    我一直在尝试实现一个异步过程,其中父方法调用一个子方法,然后调用三个不同的方法. 我希望所有这个过程都是异步完成的,即在子方法中的这三个调用并行完成之后,控件应该返回到父方法并继续执行其余的操作. 我有这个代码,测试时工作正常. public ReturnSomething parent(){ chi

  • 如何使用ExecutorService进行轮询直到结果到达2019-06-23 03:47:34

    我有一个场景,我必须轮询远程服务器检查任务是否已完成.一旦有,我会进行不同的调用以检索结果. 我原本认为我应该使用带有scheduleWithFixedDelay的SingleThreadScheduledExecutor进行轮询: ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); Sc

  • java – ThreadPoolExecutor关闭API doc verbiage“不等待”2019-06-22 08:49:28

    在ThreadPoolExector#shutdown的文档中,它说: This method does not wait for previously submitted tasks to complete execution 那是什么意思? 因为我认为已经提交的排队任务可能无法完成,但事实并非如此;请参阅此示例代码,该代码在完成所有提交的任务之前调用shutdown: packag

  • java – 使用ExecutorService并行处理作业2019-06-20 19:49:46

    我正在编写一个需要处理大量URL的java程序. 每个URL将按顺序运行以下作业:下载,分析,压缩 我希望每个作业都有一个固定数量的线程,而不是让每个URL一次完成所有作业,所以所有作业都会在任何给定时间同时运行并发线程. 例如,下载作业将有多个线程来获取和下载URL,只要下载其中一个URL

  • java中ExecutorService使用多线程处理业务2019-06-16 13:01:57

    ExecutorService executorService = Executors.newFixedThreadPool(5); List<CancelApprovalCallable> callables = new List<>(); for(int i=0,len=idsArray.size();i<len;i++){ String id = idsArray.get(i); CancelApprovalCallable callable = n

  • 多线程--Executor线程池框架2019-06-15 14:01:40

    Executor的介绍 在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Executor来启动线程比使用Thread的start方法更好,除了更

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有