最近在开发javaMe客户端过程中,用到一个消息线程,客户端所有的事件全部通过消息线程处理事件。
消息是一个什么东西呢,可以理解为一个事件标识,例如用户在点击某个按钮触发的一个事件,可以作为一个消息,那么我们通过封装一个Message对象,并把Message对象存储到消息队列,消息线程从队列中取消息对象,并调用监听者的消息处理方法处理点击按钮事件。
这个过程涉及到监听器模式,首先创建一个监听器接口,实现监听器接口的类即为一个监听器,这个监听器必须实现监听接口声明的事件处理的方法,当监听到事件发生时,封装一个消息对象,该对象封装了消息类型、消息处理者(监听者,可以将按钮所在的页面作为监听者),消息相关参数。
消息线程从消息队列中取消息,并调用监听者(按钮所在页面)的事件处理方法处理点击按钮事件消息。
在消息线程中,声明一个监听器接口引用变量,将该变量指向具体的事件监听器,通过这个变量调用监听器的事件处理方法处理事件(里氏代换原则)。
写的有点乱,请谅解...
分享到:
相关推荐
实时接收发送消息(接收消息线程阻塞,发送消息线程唤醒),
消息线程的初步学习使用,适用于初学者了解消息线程的机制
很不错的C#多线程消息处理例子,UI界面,给出了后台线程向界面传递信息以及UI线程解析信息的完整过程。值得一看!
老外写的一个使用IOCP通知的消息线程,很新颖的思路。资源里面有文档和例子程序。
线程钩子的事例代码。适合初学者。大家自己看吧。
MFC线程自定义消息循环
实现多线程消息处理功能,适合学习消息线程知识的人用。
包括工作线程和用户界面线程》全面讲解MFC多线程的创建,界面多线程与工作者多线程,多线程的起源、继承与派生,两多线程之间的区别与相同点,定时器与多线程的关系与异同(定时器是定时优先抢占优先消息执行) ...
线程间通信方式3:消息传递方式的演示。采用计算演示线程的执行,并采用用户界面线程来实时显示执行的进度,线程间的通信方式采用了3种方式相结合,对多线程间的通信有比较好的学习和研究价值。
线程的消息队列 线程的消息队列 线程的消息队列 线程的消息队列
C++多线程,消息队列用法,为了凑够20个字,拼了。
线程与消息处理
易语言简单的多线程消息队列。@Patek。
实现消息队列的关键因素是考量不同线程访问消息队列的同步问题。本实现涉及到几个知识点 std::lock_guard 介绍 std::lock_gurad 是 C++11 中定义的模板类。定义如下: template <class> class lock_guard; lock_...
自己写的通过消息与主线程通讯的线程类,只需要完善消息处理
c#多线程操作msmq消息队列。将消息队列的出队入队抽象基类,判断msmq是否包含消息
演示了如何使用自定义消息进行线程间通信,如何在线程间传递消息,可运行,VC历程
android 线程之间通过Handler发送消息实例
多线程使用消息队列