多线程使用,使用线程池批量执行任务

桃扇骨 2024-03-24 22:43 137阅读 0赞

工作中需要进行大量的计算,从数据库中读取数据,然后计算结果,最后保存到数据库中。

在上千万的数据情境下,顺序执行比较耗时。

方法,最简单的可以使用Executors创建线程池,然后使用:

  1. List<XXX> allTaskList = // 从数据库中查询,得到需要处理的任务
  2. ExecutorService executorService = Executors.newFixedThreadPool(100); // 也可以自己定义线程池
  3. for (XXX task: allTaskList ) {
  4. executorService.submit(() -> doWork(task); // 定义执行单个任务的方法
  5. }
  6. executorService.shutdown();

发表评论

表情:
评论列表 (有 0 条评论,137人围观)

还没有评论,来说两句吧...

相关阅读

    相关 线15/使用线

    使用线程池 背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。 思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可

    相关 线执行线案例

    使用线程池执行多线程需要如下几个条件 首先是一个线程池,线程池包含一些初始化数据,包含队列大小,核心线程数,最大线程数。 然后是一个实现了 runnable的任务,将该任务