摘要:
字面翻译是“两阶段终止”,这个模式用来进行结束操作后,再终止线程。比如我们想停止一个线程,但是让他停止之前必须要做一些清理工作,这时候就需要用到two-phase termination模式。public class TwoPhaseTerminationTest { /** * @param args */ public static void main(String[] args) { System.out.println("main begin"); try { CountupThread t = new Co... 阅读全文
摘要:
Future是未来,预期的意思,Thread-permessage模式是指将任务交给其他线程来做,但是如果想知道处理的结果,就要使用Future模式,它的典型应用时执行一个需要花一些时间的方法,会立即返回一个future提货单,然后调用方可以继续处理自己的业务逻辑,然后需要的时候再查看future是否返回,一直等到future结果已经处理完毕。thread-pre-message模式发送的请求很像这样 host.request(10,‘A’),只有请求,没有返回值,而future pattern模式发送请求后会马上就要有返回值,类似这样 Data data=host.request(10, 阅读全文
摘要:
Worker是“工人”的意思,worker thread pattern中,工人线程(worker thread)会一次抓一件工作来处理,当没有工作可做时,工人线程会停下来等待心得工作过来。Worker Thread也叫做background thread,另外,也有人把视点放在管理工人线程的地方,称之为Thread Pool。public class WorkerThreadTest { /** * @param args */ public static void main(String[] args) { Channel channel = ne... 阅读全文
摘要:
Per是“每一”的意思,所以thread per message解释过来就是“每个消息一个线程”,message在这里可以看做是“命令”或“请求”的意思,对每隔命令或请求,分配一个线程,有这个线程执行。使用thread-pre-message模式时,“委托消息的一端”与“执行消息的一端”会是不同的线程,也就像是委托消息的线程,对执行消息的线程说“这个任务交给你了”。public class ThreadPreMessageTest { /** * @param args */ public static void main(String[] args) { ... 阅读全文