`
pan_java
  • 浏览: 287894 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

多线程设计模式 -- futrue --新特性

阅读更多
请求数据线程
public class RequestData implements Callable<Data> {

	@Override
	public Data call() {
		// TODO Auto-generated method stub
		int[] arr = new int[100];
		try {
			Thread.sleep(2000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		for (int i = 0; i < 100; i++) {
			arr[i] = i;
		}

		Data data = new Data();
		data.setDataArr(arr);
		return data;

	}

}


数据
public class Data {
	
	private int[] dataArr = new int[100];

	public int[] getDataArr() {
		return dataArr;
	}

	public void setDataArr(int[] dataArr) {
		this.dataArr = dataArr;
	}
}



测试类
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		ExecutorService es = Executors.newFixedThreadPool(4);

		RequestData r1 = new RequestData();
		RequestData r2 = new RequestData();
		RequestData r3 = new RequestData();
		RequestData r4 = new RequestData();

		System.out.println("Begin......");
		
		Future<Data> f1 = es.submit(r1);
		Future<Data> f2 = es.submit(r2);
		Future<Data> f3 = es.submit(r3);
		Future<Data> f4 = es.submit(r4);
		

		Data data1 = null;
		Data data2 = null;
		Data data3 = null;
		Data data4 = null;
		try {
			data1 = f1.get();
			data2 = f2.get();
			data3 = f3.get();
			data4 = f4.get();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ExecutionException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		System.out.println(data1.getDataArr().length);
		System.out.println(data2.getDataArr().length);
		System.out.println(data3.getDataArr().length);
		System.out.println(data4.getDataArr().length);
		
		System.out.println("End......");
		
		

		es.shutdown();

	}

}
分享到:
评论

相关推荐

    Asterisk:The Futrue of Telephony

    - **丰富的功能集**:除了基本的电话功能外,Asterisk还提供了一系列高级特性,如会议桥接、录音、传真支持等。 #### 三、Asterisk的应用场景 - **企业内部通信**:许多企业选择使用Asterisk来构建内部电话系统,...

    getabstract the book of "the future of almost everything"

    整体而言,《The Future of Almost Everything》通过对其主题的深入探讨,提供了对未来发展的多维度视角,并强调了在全球化和变化的背景下,领导力、创新和社会责任的重要性。这对于任何希望在未来的商业环境中保持...

    Future两个简单易懂的DEMO

    Future两个简单易懂的DEMO,代码完整,对接口进行简单的介绍和使用。

    Flutter 假异步的实现示例

    就像 android 有 handle 一样,消息队列这东西好像还真是系统必备,Flutter 也有自己的消息队列,只不过队列直接封装在了 Dart 的线程类型 Isolate 里面了,不过 Flutter 还是提供了 Futrue 这个 API 来专门来操作...

Global site tag (gtag.js) - Google Analytics