创建一个线程池类,指定大小
package com.test.web;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
//根据list的长度,生成N个多线程
ExecutorService exe = Executors.newFixedThreadPool(3);
for(String s : list){
//集合中的数据作为参数,传递给线程类用于业务操作
CallbackThread t = new CallbackThread(s);
//加入到线程池
exe.execute(t);
}
//结束线程池
exe.shutdown();
}
}
业务线程类
package com.test.web;
public class CallbackThread implements Runnable {
private String s ;
//通过构造函数,传递数据
public CallbackThread(String s) {
super();
this.s = s;
}
@Override
public void run() {
//拿到数据
System.out.println("拿到数据啦...."+s+"。。。执行业务方法。。。。。");
}
}