线程池demo
来源:互联网 发布:淘宝开店要钱吗 编辑:程序博客网 时间:2024/05/22 15:28
package com.sunc.callableTest;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
class User {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
public class ThreadTestB {
public static void main(String[] args) {
try {
ExecutorService e = Executors.newFixedThreadPool(2);
List<Future<User>> list = new ArrayList<Future<User>>();
for (int i = 0; i < 10; i++) {
list.add(e.submit(new MyCallableA(i + "")));
System.out.println("---------------");
System.out.println(list.get(i).get());
}
e.shutdown();
System.out.println("************");
} catch (InterruptedException e1) {
e1.printStackTrace();
} catch (ExecutionException e1) {
e1.printStackTrace();
}
}
}
class MyCallableA implements Callable<User> {
String name;
public MyCallableA(String name) {
this.name = name;
}
public User call() throws Exception {
System.out.println("开始执行Callable");
User u = new User();
u.setName(name);
Thread.sleep(3000);
return null;
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
class User {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
public class ThreadTestB {
public static void main(String[] args) {
try {
ExecutorService e = Executors.newFixedThreadPool(2);
List<Future<User>> list = new ArrayList<Future<User>>();
for (int i = 0; i < 10; i++) {
list.add(e.submit(new MyCallableA(i + "")));
System.out.println("---------------");
}
//回调填充list(不能省略,可测试注释for循环查看结果)
System.out.println(list.get(i).get());
}
e.shutdown();
System.out.println("************");
} catch (InterruptedException e1) {
e1.printStackTrace();
} catch (ExecutionException e1) {
e1.printStackTrace();
}
}
}
class MyCallableA implements Callable<User> {
String name;
public MyCallableA(String name) {
this.name = name;
}
public User call() throws Exception {
System.out.println("开始执行Callable");
User u = new User();
u.setName(name);
Thread.sleep(3000);
return null;
}
}
0 0
- 线程池Demo
- Windows线程池Demo
- 线程池demo
- ThreadPoolExecutor 线程池Demo
- 线程池,多线程使用方法,demo
- epoll+线程池服务器Demo
- C#线程池使用Demo
- 线程池的简单Demo
- 两个线程池模型Demo
- 线程池的小demo
- 线程demo
- 线程Demo
- Java 时间服务器demo之线程池
- c# 线程池RegisterWaitForSingleObject的一个Demo
- Spring线程池的使用demo
- linux c++线程池开发demo
- java ThreadPoolExecutor 自定义线程池demo
- 线程池的简单实现Demo
- C语言调用shell命令
- Pick Release 代码流程图
- svn使用教程
- 对kafka中zookeeper启动过程解析
- RedHat 6 yum 使用网易源
- 线程池demo
- Eclipse设置编译文件.class输出路径
- 深入了解android平台的jni---注册native函数
- 获取手机已经安装的所有App的信息
- GDOI2015总结 Day1
- shell 脚本统计当前目录下普通文件个数
- ubuntu 下使用crontab定时执行java程序
- 2.5年, 从0->阿里
- 黑马程序员————java注解初步