草庐IT

executors

全部标签

java - Thread.sleep() VS Executor.scheduleWithFixedDelay()

目标:每隔一段时间执行某些代码。问题:在性能方面,是否存在显着差异:while(true){execute();Thread.sleep(10*1000);}和executor.scheduleWithFixedDelay(runnableWithoutSleep,0,10,TimeUnit.SECONDS);?当然,后一种选择更洁净。然而,我想知道我是否应该开始一次名为“花几天时间重构遗留代码来告别Thread.sleep()”的冒险。更新:此代码运行在超/兆/超高负载环境中。 最佳答案 您正在处理以数十秒为单位的sleep时间。

具有节流/吞吐量控制的 Java Executor

我正在寻找一个JavaExecutor,它允许我指定节流/吞吐量/步调限制,例如,一秒钟内最多可以处理100个任务——如果提交了更多任务,它们应该排队并且后执行。这样做的主要目的是避免在访问外部API或服务器时遇到限制。我想知道是否是基础Java(我怀疑,因为我检查过)或其他可靠的地方(例如ApacheCommons)提供了这个,或者我是否必须自己编写。最好是轻量级的。我不介意自己写,但如果有一个“标准”版本,我至少想先看看它。 最佳答案 看看GuavaRateLimiter:Aratelimiter.Conceptually,ar

具有节流/吞吐量控制的 Java Executor

我正在寻找一个JavaExecutor,它允许我指定节流/吞吐量/步调限制,例如,一秒钟内最多可以处理100个任务——如果提交了更多任务,它们应该排队并且后执行。这样做的主要目的是避免在访问外部API或服务器时遇到限制。我想知道是否是基础Java(我怀疑,因为我检查过)或其他可靠的地方(例如ApacheCommons)提供了这个,或者我是否必须自己编写。最好是轻量级的。我不介意自己写,但如果有一个“标准”版本,我至少想先看看它。 最佳答案 看看GuavaRateLimiter:Aratelimiter.Conceptually,ar

java - ExecutorService.submit(Task) vs CompletableFuture.supplyAsync(Task, Executor)

要并行或异步运行一些东西,我可以使用ExecutorService:Futuresubmit(Runnabletask,Tresult);或CompletableFutureAPI:staticCompletableFuturesupplyAsync(Suppliersupplier,Executorexecutor);(假设我在这两种情况下都使用同一个Executor)除了返回类型Future与CompletableFuture有什么显着差异。或者什么时候用什么?如果我使用CompletableFuture有什么区别?默认APIExecutor(没有执行者的方法)?

java - ExecutorService.submit(Task) vs CompletableFuture.supplyAsync(Task, Executor)

要并行或异步运行一些东西,我可以使用ExecutorService:Futuresubmit(Runnabletask,Tresult);或CompletableFutureAPI:staticCompletableFuturesupplyAsync(Suppliersupplier,Executorexecutor);(假设我在这两种情况下都使用同一个Executor)除了返回类型Future与CompletableFuture有什么显着差异。或者什么时候用什么?如果我使用CompletableFuture有什么区别?默认APIExecutor(没有执行者的方法)?

Spring ThreadPoolTask​​Scheduler vs ThreadPoolTask​​Executor

在Springdocumentation中提到那:ThreadPoolTaskScheduleractuallyimplementsSpring'sTaskExecutorinterfaceaswell,sothatasingleinstancecanbeusedforasynchronousexecutionassoonaspossibleaswellasscheduled,andpotentiallyrecurring,executions.那么我们希望在哪些场景中使用ThreadPoolTask​​Executor实例而不是ThreadPoolTask​​Scheduler实例?

Spring ThreadPoolTask​​Scheduler vs ThreadPoolTask​​Executor

在Springdocumentation中提到那:ThreadPoolTaskScheduleractuallyimplementsSpring'sTaskExecutorinterfaceaswell,sothatasingleinstancecanbeusedforasynchronousexecutionassoonaspossibleaswellasscheduled,andpotentiallyrecurring,executions.那么我们希望在哪些场景中使用ThreadPoolTask​​Executor实例而不是ThreadPoolTask​​Scheduler实例?

java.lang.LinkageError : loader constraint violation: when resolving method "org. jboss.resteasy.client.core.executors.ApacheHttpClient4Executor 错误

JSF网络应用程序尝试从JavaEE网络服务检索资源。JSF网络应用程序运行良好。由于我添加了Http客户端源来检索JBoss实例声明的Web服务资源:15:29:47,689SEVERE[javax.enterprise.resource.webcontainer.jsf.application](http--0.0.0.0-443-1)ErrorRenderingView[/index.xhtml]:javax.el.ELException:/surfaceParts/sideBarLeft.xhtml@14,79value="#{categories.cats}":java.la

java - Spring ThreadPoolTask​​Executor 中的 corePoolSize 和 maxPoolSize 有什么区别

我必须向网站的所有用户发送大量电子邮件。我想为每封发送的电子邮件使用一个线程池。目前我已将值设置为:两者之间有什么区别,是否会扩展。目前我有大约。10000个用户。 最佳答案 以下是Sun的线程创建规则,简单来说:如果线程数小于corePoolSize,则创建一个新线程来运行一个新任务。如果线程数等于(或大于)corePoolSize,则将任务放入队列。如果队列已满,并且线程数小于maxPoolSize,则创建一个新线程来运行任务。如果队列已满,且线程数大于等于maxPoolSize,则拒绝该任务。FullarticleOrigin

java - Spring ThreadPoolTask​​Executor 中的 corePoolSize 和 maxPoolSize 有什么区别

我必须向网站的所有用户发送大量电子邮件。我想为每封发送的电子邮件使用一个线程池。目前我已将值设置为:两者之间有什么区别,是否会扩展。目前我有大约。10000个用户。 最佳答案 以下是Sun的线程创建规则,简单来说:如果线程数小于corePoolSize,则创建一个新线程来运行一个新任务。如果线程数等于(或大于)corePoolSize,则将任务放入队列。如果队列已满,并且线程数小于maxPoolSize,则创建一个新线程来运行任务。如果队列已满,且线程数大于等于maxPoolSize,则拒绝该任务。FullarticleOrigin