gpt4 book ai didi

使用 ExecutorService 线程安全聚合的 Java 回调总计

转载 作者:行者123 更新时间:2023-12-01 11:50:19 27 4
gpt4 key购买 nike

在我的 main 方法中,我声明了 30 个可运行的工作线程,然后向每个工作线程传递了他们需要完成的一些任务。我希望它能够实时、汇总地报告,并且不会阻碍工作人员的执行。实时报告应该只是打印到控制台并包含一些统计信息

伪代码:

  1. 创建 30 个工作线程的线程池。
  2. 为每个 worker 创造 x 个就业岗位。
  3. 启动计时器来跟踪性能并开始执行每个工作线程。
  4. 每次工作人员完成一项任务时,它都应该回调 main 中的一个方法,该方法将增加一个 int 来跟踪已完成的任务数量。这必须是线程安全的
  5. 每隔 5 秒,在屏幕上打印出已完成的作业数量,直到所有作业都完成。

最佳答案

逻辑是合理的,只需使用 AtomicInteger.incrementAndGet() 进行计数即可。

http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html

关于使用 ExecutorService 线程安全聚合的 Java 回调总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28848076/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com