以前经常被这些东西头疼,现在终于有带返回值的线程啦 先高兴一下 呵呵
大致说明一下,还请各位大侠多多指点 。有需要可以直接联系我
通过返回值来实现程序自动化 自动排单
public class MyCallable implements Callable{
public MyCallable(String checkid,String type)
{
this.checkid = checkid;
this.type = type;
}
/**
* 用锁机制 来实现线程独享
*/
public synchronized HashMap showData() throws BOSException
{
HashMap mapcol = new HashMap();
。。。。。。代码太多 暂时省区
return mapcol;
}
//重写方法 得到返回值
public Object call() throws Exception {
// TODO Auto-generated method stub
//用锁机制实现数据专用 showdate方法
HashMap mapcol = showData();
return mapcol;
}
}
实现方法; 这是测试
publicclass Test {
publicstaticvoid main(String[] args) throws ExecutionException, InterruptedException {
//创建一个线程池
ExecutorService pool = Executors.newFixedThreadPool(2);
//创建两个有返回值的任务
Callable c1 = new MyCallable("A","C");
Callable c2 = new MyCallable("B","D");
//执行任务并获取Future对象
Future f1 = pool.submit(c1);
Future f2 = pool.submit(c2);
//从Future对象上获取任务的返回值,并输出到控制台
System.out.println(">>>"+f1.get().toString());
System.out.println(">>>"+f2.get().toString());
//关闭线程池
pool.shutdown();
}
}
大致说明一下,还请各位大侠多多指点 。有需要可以直接联系我
通过返回值来实现程序自动化 自动排单
public class MyCallable implements Callable{
public MyCallable(String checkid,String type)
{
this.checkid = checkid;
this.type = type;
}
/**
* 用锁机制 来实现线程独享
*/
public synchronized HashMap showData() throws BOSException
{
HashMap mapcol = new HashMap();
。。。。。。代码太多 暂时省区
return mapcol;
}
//重写方法 得到返回值
public Object call() throws Exception {
// TODO Auto-generated method stub
//用锁机制实现数据专用 showdate方法
HashMap mapcol = showData();
return mapcol;
}
}
实现方法; 这是测试
publicclass Test {
publicstaticvoid main(String[] args) throws ExecutionException, InterruptedException {
//创建一个线程池
ExecutorService pool = Executors.newFixedThreadPool(2);
//创建两个有返回值的任务
Callable c1 = new MyCallable("A","C");
Callable c2 = new MyCallable("B","D");
//执行任务并获取Future对象
Future f1 = pool.submit(c1);
Future f2 = pool.submit(c2);
//从Future对象上获取任务的返回值,并输出到控制台
System.out.println(">>>"+f1.get().toString());
System.out.println(">>>"+f2.get().toString());
//关闭线程池
pool.shutdown();
}
}