Future,带返回执行结果的线程使用方式

FutureTask与Future使用示例
本文通过一个具体的示例介绍了如何使用FutureTask作为Future的一种实现方式。示例中创建了一个名为Counter的类,并通过FutureTask执行了耗时操作。

FutureTask是Future的一种实现方式.

private final int count;

	public Counter(int count) {
		this.count = count;
	}

	public void get() throws InterruptedException {
		// 假设执行一些耗时的操作
		Thread.sleep(3000);
		System.out.println("counter:" + count);
	}
long start = System.currentTimeMillis();
		FutureTask<Counter> f = new FutureTask<Counter>(new Callable<Counter>() {
			@Override
			public Counter call() throws Exception {
				System.out.println("==================");
				return new Counter(1000);
			}

		});
		f.run();
		if (f.isDone()) {
			System.out.println("done.time-consuming:"
			        + (System.currentTimeMillis() - start) + "ms");
			f.get().get();
		}

控制台:

==================
done.time-consuming:1001ms
counter:1000

 

转载于:https://my.oschina.net/u/2486137/blog/1574582

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值