Thread-Per-Message模式是一个很简单但很常应用的模式,尤其是在GUI程式中,我们举个例子,当您设计一个文件编辑器时,您可能像这样注册一个开启档案的事件处理:
menuOpenFile.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
openFile();
}
}
);
openFile()方法中主要是开启档案、一行一行读档案文字并设定文字至文字区域中,这样设计基本上没有什么问题,例如果您的文件内容很长,在读档必须花费一些时间时,您会发现在档案读取完毕前,您的视窗会有明显的停顿现象。
menuOpenFile.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
new Thread(new Runnable(){
public void run() {
openFile();
}
}).start();
}
}
);
在事件发生之后,您将档案处理的动作交由一个执行绪去执行,而事件处理执行绪直接回到回应事件的状态,如此即可解决视窗在载入档案时的停顿。
简单的说,Thread-Per-Message模式是在某个请求发生时,新增一个执行绪来执行该请求,而主执行绪继续往下执行,除了上面的载入档案例子之外,像是进行搜寻、字串转换之类需要一些时间来执行的工作时,使用Thread-Per-Message模式都可以提高主执行绪(界面)的回应性。
分享到:
相关推荐
Analog Circuit Design: High-speed Clock and Data Recovery, High-performance Amplifiers, Power Management By Michiel Steyaert, Arthur H.M. van Roermund, Herman Casier Publisher: Springer Number Of ...
ASP.NET 2.0 Website Programming: Problem - Design - Solution 第二部分 Table of Contents ASP.NET 2.0 Website Programming—Problem - Design - Solution Foreword Introduction ...
FOAD(Fundamentals of Object-Oriented Design)设计模式,是对面向对象设计原则的具体实现,旨在提高代码的可读性、可维护性和可扩展性。在C#编程语言中,这些模式被广泛运用,以优化程序结构,提高代码质量。 1....
"Design pattern In JavaScript"这个主题涵盖了一系列广泛使用的模式,这些模式可以分为三大类:创建型、结构型和行为型。 1. **创建型模式**: - **工厂模式**:它提供了一种创建对象的接口,但允许子类决定实例...
Networkers2009:BRKCAM-3011 - Advanced Enterprise Campus Design: Leveraging Virtual Switch System
CAD(Computer-Aided Design)是一种广泛应用于工程设计领域的软件,用于创建、编辑和查看二维和三维设计。在CAD中,快捷键是提高工作效率的关键,因为它们允许用户快速执行常用命令,而无需通过菜单或工具栏。以下...
Systems Analysis and Design: An Object-Oriented Approach with UML, 5th Edition by Dennis, Wixom, and Tegarden captures the dynamic aspects of the field by keeping students focused on doing SAD while ...
本文档可以解决win10环境中使用ISE14.7的Simulation仿真时总是出错"ERROR:Simulator:861 – Failed to link the design" 解决方法和解决工具都在本文档里面!下载查看。
这个名为"java-design-pattern"的压缩包很可能是包含了一系列Java实现的设计模式示例代码库。下面,我们将深入探讨Java设计模式的重要性和各种类型。 设计模式是经过多年实践和经验总结出的通用解决方案,它们描述...
在这个项目中,“javascript-design-pattern”显然是一个专注于前端设计模式的学习资源,通过示例(demo)来帮助开发者理解和应用这些模式。 首先,我们要了解设计模式的基本概念。设计模式是经过多次实际开发经验...
ASP.NET 2.0 Website Programming: Problem - Design - Solution 第一部分 Table of Contents ASP.NET 2.0 Website Programming—Problem - Design - Solution Foreword Introduction ...
在给定的标题“design-pattern-factory-method:Código-exemplopara ilustrar o Padrão de Projeto Factory Method”中,我们关注的是工厂方法(Factory Method)设计模式。这是一种创建型设计模式,它定义了一个...
英文原书名: Design Patterns:Elements of Reusable Object-Oriented software 作者: Erich Gamma 等 译者: 李英军 马晓星 蔡敏 刘建中 书号: 7-111-07575-7 页码: 254 定价: ¥35.00 会员价: ¥31.50 币值: 315 ...
设计模式:可复用面向对象软件的基础(中文)Design Patterns:Elements of Reusable Object-Oriented software
Silverlight 4: Problem - Design - Solution By Nick Lecrenski Publisher: Wrox 2010 | 528 Pages | ISBN: 0470534044 | PDF | 16 MB A hands-on guide to Microsoft’s latest rich application development ...
Wiley出版:TCP-IP Architecture Design and Implementation in Linux(2008).pdf 共6个部分。我都上传了,搜索这个标题就能找到。
"DesignPattern-321: 参考-头先设计模式"这个项目可能是一个关于设计模式的学习资源,其中包含了对策略模式的应用以及对继承与组合的讨论。下面将详细解析这些知识点。 **策略模式**是一种行为设计模式,它使你能在...
信号与系统教学课件:9-3 Design for LTI systems.ppt