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中,快捷键是提高工作效率的关键,因为它们允许用户快速执行常用命令,而无需通过菜单或工具栏。以下...
设计模式:可复用面向对象软件的基础(中文)Design Patterns:Elements of Reusable Object-Oriented software
本文档可以解决win10环境中使用ISE14.7的Simulation仿真时总是出错"ERROR:Simulator:861 – Failed to link the design" 解决方法和解决工具都在本文档里面!下载查看。
这个名为"java-design-pattern"的压缩包很可能是包含了一系列Java实现的设计模式示例代码库。下面,我们将深入探讨Java设计模式的重要性和各种类型。 设计模式是经过多年实践和经验总结出的通用解决方案,它们描述...
在这个项目中,“javascript-design-pattern”显然是一个专注于前端设计模式的学习资源,通过示例(demo)来帮助开发者理解和应用这些模式。 首先,我们要了解设计模式的基本概念。设计模式是经过多次实际开发经验...
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 ...
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 ...
Networkers2009:BRKCAM-2009 - Multilayer Campus Architectures and Design Principles
Networkers2009:BRKVID-2102 - IP Multicast and Multipoint Design for IPTV Services
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