threadpoolexecutor

    1热度

    1回答

    我需要在Java中管理大量的串行调度队列。每个管理自己的运行循环都需要一些引擎模块(其中一些可能会很快完成,而另一些可能会阻塞很长一段时间)。提交给每个引擎的作业必须按顺序运行。 理想情况下,每个引擎都会有一个线程池,它可以在0和1线程之间进行缩放,从而使ExecutorService既是串行的,也不是令人难以置信的资源沉重,如果有数百个,但只有少数人看到活动。 然而,当我尝试使用要么: new

    0热度

    1回答

    我正在使用执行程序框架来创建Fadder对象的多个实例并打印结果。我正在尝试学习如何使用多线程来更快地完成任务。我遇到的问题是,每次运行程序时都会按随机顺序打印数字。我认为为循环的每次迭代创建一个新对象可以解决这个问题,但它仍然以“随机”顺序打印数字。有没有什么方法可以保证线程按照它们假定的运行顺序打印?像1,2,3,4,5。谢谢 package fadder; import java.util

    0热度

    1回答

    我已经在Java中建立了一个HttpsServer。我所有的沟通都很完美。我设置了多个上下文,加载自签名证书,甚至基于外部配置文件启动。 我现在的问题是让多个客户端能够打我的安全服务器。为此,我想以某种方式对来自HttpsServer的请求进行多线程处理,但无法弄清楚如何执行此操作。以下是我的基本HttpsConfiguration。 HttpsServer server = HttpsServe

    0热度

    2回答

    我想使用线程池来相互添加两个矩阵,这将导致进程更快完成。当我不使用执行器框架进行添加时,该程序正常工作,但在实现线程池时崩溃。问题必须在添加方法中,任何有助于运行的帮助将会很有帮助!谢谢 :)。 这里是矩阵类的代码。我没有包含主类,因为它所做的只是获取创建矩阵的维度。如果你还想让主要班级让我知道,我会包括它。 package matrixproject; import java.util.Ran

    0热度

    1回答

    我已经阅读从Java文档手动约ThreadPoolExecutor: 让我们来看看这部分: 拒绝任务的 在执行方法execute(java.lang.Runnable)中提交的新任务将为 当Executor已关闭时被拒绝,还有whe 执行器对最大线程和工作队列使用有限边界容量,并且是饱和的。无论哪种情况,execute方法都会调用 RejectedExecutionHandler的Rejected

    3热度

    4回答

    传递给ThreadPoolExecutor/ScheduledThreadPoolExecutor的推荐corePoolSize是什么? Runtime.getRuntime().availableProcessors()? Runtime.getRuntime().availableProcessors() * 2? 从一个角度来看,我希望CPU(所有内核)能够100%利用,但尽可能少用线程,以

    4热度

    1回答

    我用例: 设置最小大小“N”对于这意味着“N”螺纹总是执行人启动后的可用线程池。 设置线程池的最大大小'M'。 当所有'M'线程忙时,传入任务应该排队。 基于空闲状态超时期满(M-N)线程。 我相信HttpClient后面的池管理器可能有类似的设置。我试图用ThreadPoolExecutor来实现它,但无法找到一种方法。可能吗? 这是一个测试的例子。 public class ExecutorE

    1热度

    1回答

    的Javadoc的ThreadPoolExecutor定义(https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html#afterExecute(java.lang.Runnable,%20java.lang.Throwable)) protected void afterExecut

    1热度

    1回答

    当我尝试获得结果时,感觉它回到过去没有被线程化,但是当我不抓取结果时。它的工作原理就像它有10个线程,任何想法为什么或如何解决这个问题? pool = ThreadPoolExecutor(max_workers=10) info = pool.submit(check, "Username").result().result print(info)

    0热度

    1回答

    只有在提交给线程池的所有任务完成后,我才想从我的executeTasks()方法返回。请注意,我的线程池具有可配置的threadpoolsize,并使用SynchronousQueue作为后备队列,因此只有在线程可用时,我的for循环才能通过提交任务来安全地进行。所以,我只想等待最后的任务。我正在使用Phaser。 我创建了一个Phaser,其中包含1个注册方,即当前线程,并且我在向线程池提交任务