Java 异步编程(上)

这个世界就是异步的,因此异步编程变得越来越重要。当然 Java 语言也对异步编程提供良好支持。特别是在 Java 8 中对异步编程进行很大改进。Java 8 可以算是 Java 中一个里程碑版本,添加许多让人惊叹的新的特性,以后会给大家一一道来。

现在微服务出现,巩固了 Java 立于 web 应用开发的老大的位置。

我们看一看在 Java 中是如何实现多任务的。我们有三个任务 T1、T2和T3。

8207483-1f77ecb7b1c4c4cb

第一种方式就是同步执行,java 中大部分代码都是同步执行的,这样很好理解,处理也相对简单,就是耗时费力。

8207483-e5b09b13a6ed1f2c

然后我们可以通过为每个任务开一个线程来实现并行执行,缺点显然易见,多线程难于驾驭。也缺乏完整性,不可见。

8207483-e0409e9f003b78de
8207483-bd62299f509bb159

比起多线程实现多任务执行,异步编程要简单的多。从图上看虽然很像,但实现机制却不同。相对于多线程来说异步要简单和可控。

8207483-7c70b022b0467445
8207483-5182582be6029351
8207483-e19b2d0ad200f39e

我们看一下异步编程在 Java 中发展过程。

8207483-bb64f29dfe4602ef

我们来简单地实现以下异步任务。来对解释上面的内容。

8207483-ff5d4595e1f742d1
8207483-1dad795b15eb131b
8207483-6328ca8f89e4b4dd

我们用到 jersey 这个 restful 框架,我们先用 runnable 来实现一个异步任务。

8207483-c95956ff7ce9f48d

在 java 8 中我们可以进行修改,使用 excute 来实现异步任务,代码如下图

8207483-8ed8fa3c86124599

猜你喜欢

转载自blog.csdn.net/weixin_34206899/article/details/86797405