zoukankan      html  css  js  c++  java
  • java多线程读取、操作List集合

    import java.util.ArrayList;

    import java.util.List;
    import org.apache.commons.lang3.ArrayUtils;
     
    public class Test_4 {
        /**
         * 多线程处理list
         
         * @param data  数据list
         * @param threadNum  线程数
         */
        public synchronized void handleList(List<string> data, int threadNum) {</string>
            int length = data.size();
            int tl = length % threadNum == 0 ? length / threadNum : (length
                    / threadNum + 1);
     
            for (int i = 0; i < threadNum; i++) {
                int end = (i + 1) * tl;
                HandleThread thread = new HandleThread("线程[" + (i + 1) + "] ",  data, i * tl, end > length ? length : end);
                thread.start();
            }
        }
     
        class HandleThread extends Thread {
            private String threadName;
            private List<string> data;</string>
            private int start;
            private int end;
     
            public HandleThread(String threadName, List<string> data, int start, int end) {</string>
                this.threadName = threadName;
                this.data = data;
                this.start = start;
                this.end = end;
            }
     
            public void run() {
                // TODO 这里处理数据
                data.subList(start, end).add("^&*");
                System.out.println(threadName)
            }
     
        }
     
        public static void main(String[] args) {
            Test_4 test = new Test_4();
            // 准备数据
            List<string> data = new ArrayList<string>();</string></string>
            for (int i = 0; i < 5000; i++) {
                data.add("item" + i);
            }
            test.handleList(data, 5);
            System.out.println(ArrayUtils.toString(data));
        }
    }
  • 相关阅读:
    在Ubuntu中通过update-alternatives切换软件版本
    SCons: 替代 make 和 makefile 及 javac 的极好用的c、c++、java 构建工具
    mongodb 的使用
    利用grub从ubuntu找回windows启动项
    How to Repair GRUB2 When Ubuntu Won’t Boot
    Redis vs Mongo vs mysql
    java script 的工具
    python 的弹框
    how to use greendao in android studio
    python yield的终极解释
  • 原文地址:https://www.cnblogs.com/firstdream/p/8934282.html
Copyright © 2011-2022 走看看