文章

Java小故事 我许你一个未来 Future

还是梳理代码,频频到Future这个字眼,很自然的让我想到了未来。

还是那对男孩和女孩,女孩问男孩,你会娶我吗?男孩说,一定会,等我为你盖好一栋美丽的房子……

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/**
 * Java小故事 我许你一个未来 Future
 * <p>
 * 还是那对男孩和女孩,女孩问男孩,你会娶我吗?<br>
 * 男孩说,一定会,等我为你盖好一栋美丽的房子……
 * 
 * @author lihzh
 * @alia OneCoder
 * @Blog http://www.coderli.com
 * @date 2012-7-26 下午8:44:58
 */
public class PromiseUAFuture {

	/**
	 * @author lihzh
	 * @throws ExecutionException
	 * @throws InterruptedException
	 * @alia OneCoder
	 * @date 2012-7-26 下午8:44:58
	 */
	public static void main(String[] args) throws InterruptedException, ExecutionException {
		// 我许你一个未来
		Future<BeautifulHouse> future = Executors.newSingleThreadExecutor().submit(new Boy());
		while (!future.isDone()) {
			System.out.println("Sorry baby, the house is not ok.");
		}
		System.out.println(future.get());
	}

	public static class Boy implements Callable<BeautifulHouse> {
		@Override
		public BeautifulHouse call() throws Exception {
			Thread.sleep(5000);
			return new BeautifulHouse();
		}

	}

	public static class BeautifulHouse {
		@Override
		public String toString() {
			return "This is a beautiful house.";
		}
	}
}
本文由作者按照 CC BY 4.0 进行授权