是否可以使用ScheduledThreadPool来接受不同类型的线程



解决我有 3 个现金柜台为顾客提供服务的问题。每个计数器需要 1 秒来处理 1 个项目,而第三个计数器需要 2 秒来处理每个项目。(例如,客户 A 在柜台 1 上有 5 件商品需要 5 秒才能完成),客户 B 在柜台 C 上有 3 件商品需要 6 秒。每个客户加入队列的时间都不同。我使用该ScheduledExecutorService创建了相当于现金计数器的线程数。

ScheduledExecutorService scheduledExecutorService =Executors.newScheduledThreadPool(3);

现在,我的可运行实现检查项目数并相应地运行循环。

我根据客户数量提交任务数量。

scheduledExecutorService.schedule(new Runnable(),Timetojoin, TimeUnit.SECONDS);

如何将不同的优先级分配给执行器服务创建的 3 个线程。因为我的最后一个计数器(线程)需要 2 秒来处理每个项目。

您必须

ExecutorService提供自定义ThreadFactory。您的ThreadFactory将允许您创建适合您需求的新线程。

ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory)

更多信息请点击此处,请参阅文档。

相关内容

  • 没有找到相关文章

最新更新