异步编程总结

java现存的异步编程大致分为两种

通过回调方式控制实现


public static void callback() throws InterruptedException, ExecutionException {
		CompletableFuture<String> resultFuture = CompletableFuture.supplyAsync(() -> {

			System.out.println("callback" + ":" + Thread.currentThread().getName());
			try {
				Thread.sleep(3000);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("completableFuture complete");

			return "hello completablefuture";
		});
		System.out.println(" main thread complete");
		// 回调获取执行结果 thenAccept使用同一线程执行任务,并获取结果,thenAcceptAsync使用不同线程

		resultFuture.thenAcceptAsync((m) -> {
			System.out.println("callback:" + m + ":" + Thread.currentThread());
			System.out.println("Get Result by Back Function ");
		});

		System.out.println(" ========");
		//resultFuture.get();
		//System.out.println("------------ " + resultFuture.get());
	}


actor模型

Actor模型=数据+行为+消息。

Actor模型内部的状态由自己的行为维护,外部线程不能直接调用对象的行为,必须通过消息才能激发行为,这样就保证Actor内部数据只有被自己修改。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值