摘要: 停止线程是一个目标简单而实现却不那么简单的任务。首先,Java没有提供直接的API用于停止线程。此外,停止线程时还有一些额外的细节需要考虑,如待停止的线程处于阻塞(等待锁)或者等待状态(等待其它线程)、尚有未处理完的任务等。本文介绍的Two-phase Termination模式提供了一种通用的用于 阅读全文
posted @ 2017-05-03 23:58 请叫我大表哥 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁。而锁本身又会带来一些问题和开销。Immutable Object模式使得我们可以在不使用锁的情况下,既保证共享变量访问的线程安全,又能避免引入锁可能带来的问题和开销。 Immutable Object模式简介 多线程环境中 阅读全文
posted @ 2017-05-03 23:43 请叫我大表哥 阅读(559) 评论(0) 推荐(0) 编辑
摘要: Active Object模式的评价与实现考量 Active Object模式通过将方法的调用与执行分离,实现了异步编程。有利于提高并发性,从而提高系统的吞吐率。 Active Object模式还有个好处是它可以将任务(MethodRequest)的提交(调用异步方法)和任务的执行策略(Execut 阅读全文
posted @ 2017-05-03 23:18 请叫我大表哥 阅读(433) 评论(0) 推荐(0) 编辑
摘要: Active Object模式简介 Active Object模式是一种异步编程模式。它通过对方法的调用与方法的执行进行解耦来提高并发性。若以任务的概念来说,Active Object模式的核心则是它允许任务的提交(相当于对异步方法的调用)和任务的执行(相当于异步方法的真正执行)分离。这有点类似于S 阅读全文
posted @ 2017-05-03 23:05 请叫我大表哥 阅读(641) 评论(0) 推荐(0) 编辑
摘要: Promise模式简介(转) Promise模式是一种异步编程模式 。它使得我们可以先开始一个任务的执行,并得到一个用于获取该任务执行结果的凭据对象,而不必等待该任务执行完毕就可以继续执行其他操作。等到我们需要该任务的执行结果时,再调用凭据对象的相关方法来获取。这样就避免了不必要的等待,增加了系统的 阅读全文
posted @ 2017-05-03 22:51 请叫我大表哥 阅读(3786) 评论(0) 推荐(1) 编辑