java利用多线程实现异步调用
2012-03-13 15:03
405 查看
java利用多线程实现异步调用
package com.test.t1;public class Test2 {public static void main(String[] args) {final FutureTicket ft = new FutureTicket(new MyProcessData());// 在新线程中调用耗时操作new Thread() {public void run() {ft.makeRealData();}}.start();ft.putData();}}class FutureTicket {private Object data = null;private boolean completed = false;private ProcessData pd;public FutureTicket(ProcessData pd) {this.pd = pd;}public synchronized void makeRealData() {if (this.completed)return;// 获取数据的耗时操作.这里用Sleep代替try {Thread.sleep(10000);} catch (Throwable t) {}this.data = "返回的数据内容";this.completed = true;notifyAll();}public synchronized void putData() {while (!this.completed) {try {wait();} catch (Throwable t) {}}// return this.data;// 不用返回了,直接处理this.pd.process(this.data);// alert(?);}// 这个方法也可以不要了.public boolean isCompleted() {return this.completed;}}interface ProcessData {public void process(Object data);}class MyProcessData implements ProcessData {public void process(Object data) {// 你不管什么时候起初数据data被获取了.// 你只要规定如果获取到数据了如何处理System.out.println(data.toString() + "处理完成...........");// insert into dataBase?}}
相关文章推荐
- 利用回调实现Java的异步调用
- Java多线程实现异步调用
- Java多线程实现异步调用
- Java多线程实现异步调用
- Java多线程实现异步调用的方法
- Java多线程实现异步调用
- Java多线程实现异步调用
- Java多线程实现异步调用
- Java多线程实现异步调用
- Java异步调用-多线程实现
- Android利用JNI实现java调用C或C++
- java实现异步调用实例
- 利用Meida Service的Java SDK来调用Azure Media Services的Index V2实现视频字幕自动识别
- 使用Java8的函数式接口@FunctionalInterface实现简单异步调用
- Java多线程15:Queue、BlockingQueue以及利用BlockingQueue实现生产者/消费者模型
- PHP中实现异步调用多线程程序代码
- java 多线程 22 :生产者/消费者模式 进阶 利用await()/signal()实现
- 从Java future 到 Guava ListenableFuture实现异步调用
- 异步调用实现java
- Java多线程系列-Queue、BlockingQueue以及利用BlockingQueue实现生产者/消费者模型