import com.google.common.collect.Lists;
import org.junit.Test;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class ManyThread {
@Test
public void test() throws Exception {
ExecutorService service = Executors.newFixedThreadPool(100);
List<String> results = Lists.newArrayList();
for (int i = 1; i <= 30; i++) {
String tar_str = "ABC_" + i;
Future<String> model = service.submit(new MyCallables(tar_str));
String result = model.get();
System.out.println("打印第" + i + "的结果:" + result);
results.add(result);
}
service.shutdown();
while (!service.isTerminated()) {
}
}
class MyCallables implements Callable<String> {
private String target;
public MyCallables(String target) {
this.target = target;
}
@Override
public String call() throws Exception {
System.out.println(target);
StringBuffer sb = new StringBuffer(target);
String str = sb.reverse().toString();
return str;
}
}
}
简单多线程获取返回结果
最新推荐文章于 2024-06-26 17:54:42 发布