一)背景
该案例主要是结合多线程、ThreadPoolExecutor线程池实现的一个有返回值的多线程功能。
二)第一个线程类
创建一个ListThread线程类,继承java.util.concurrent.Callable接口,并指定方法具体的返回值类型。
实现源码:
package com.oysept.thread;
import java.util.List;
import java.util.concurrent.Callable;
/**
* ListThread线程类, 继承Callable接口
* @author ouyangjun
*/
public class ListThread implements Callable<String> {
private List<Object> list;
/** 初始化list, 传值可各种各 样*/
public ListThread(List<Object> list) {
this.list = list;
}
/** 返回字符串,也可以把对象转化成json字符串返回 */
public String call() throws Exception {
// 做具体的业务逻辑
for (Object obj : list) {
System.out.println("ListThread==>list: " + obj);
}
return "ListThread OK!";
}
}