怎样实现多个线程监听同一个对象的事件?

问题描述

我想做一个这样的程序:有一个对对象A,当A里有一个message,有几个线程在同时监听着message值的改变。当message的值发生改变时,几个线程的事件监听模块被同时触发。请问这个程序怎么实现?

解决方案

解决方案二:
忘了说一点,线程个数及名字不确定。
解决方案三:
怎么没有人理睬呢?
解决方案四:
委托usingSystem;namespacemyspace{classA{publicdelegatevoidCuttomHandler(stringmessage);publiceventCuttomHandlertestHandler;publicvoidtestEnent(){stringstr="Helloworld";if(testHandler!=null)this.testHandler(str);}}classC{publicC(){Aa=newA();a.testHandler+=newA.CuttomHandler(C_testHandler);a.testEnent();}voidC_testHandler(stringmessage){Console.WriteLine("c:"+message);}}classB{publicstaticvoidMain(){Aa=newA();Cc=newC();a.testHandler+=newA.CuttomHandler(B_testHandler);a.testEnent();}staticvoidB_testHandler(stringmessage){Console.WriteLine("b:"+message);}}}

没有使用多线程,提供思路而已
解决方案五:
你这不是用event-delegate实现的观察者模式吗?谢谢支持。
解决方案六:
其实,我是想用这种制机实现一种服务器推送。我想让网页来监视这个事件,不知道可不可行。只要网页发现关心的数据发生变化,自动去提取数据。

时间: 2024-09-30 10:44:27

怎样实现多个线程监听同一个对象的事件?的相关文章

Flash/Flex学习笔记(35):如何正确监听Stage对象的事件

如果想在一个自定义类中注册对stage对象的监听事件,然后在另一个文档类中使用该类的实例(或在fla的时间轴上使用该类的实例),你会很郁闷的发现:在构造函数中始终无法引用到this.stage(用trace(this.stge)会一直返回null),既然引用都得不到,当然也就无法注册事件了,正确的做法如下: package{ import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent

服务器 epoll http-epoll监听同一个http请求,一会能监听到,一会又监听不到

问题描述 epoll监听同一个http请求,一会能监听到,一会又监听不到 自己写了个程序,监听用户的http请求.但是发送请求时出现了上面那种现象:同一个请求第一次发送,epoll发现不到监听套接字可读.第二次再发送一遍,epoll就能发现可读事件:第3次发送又检查不到,第四次.......

jacob 注册监听无效 打卡事件发生后未调用注册的监听事件

问题描述 jacob 注册监听无效 打卡事件发生后未调用注册的监听事件 要对打卡机做二次开发,用java 主动获取打卡记录list都可以get到 但是想注册一个监听,每次发生打卡事件都通知pc 但是一直没有注册成功,控制台没有信息输出 注册代码如下 Dispatch ob =(Dispatch)dotnetCom.getObject(); SensorEvents sevent = new SensorEvents(); DispatchEvents de = new DispatchEvent

监听浏览器标签关闭事件

问题描述 监听浏览器标签关闭事件 如题:当用户注销退出系统时,同时结束会话.但当用户关闭当前标签时, 怎么监听该事件.网上看的window.onbeforeunload只能监听整个浏览器关闭, 而不能监听某一个标签关闭 解决方案 window.onbeforeunload是添加了这个事件的每个页面关闭或者导航到其他页面都会执行的,不单是浏览器关闭 window.onbeforeunload=function(e){ return (e||window.event).returnValue='确认

android-Android如何监听摇一摇事件完毕

问题描述 Android如何监听摇一摇事件完毕 最近有个摇一摇的功能,要求用户停止摇晃之后再做处理,我之前摇一摇是监听重力加速度,如果加速度超过我规定的值就算是摇晃手机,现在要监听摇晃停止,哪位大神能给我个思路啊 解决方案 你还不如 定义一下 咔咔 声音想完了就做处理 用户再摇也没用 或者定义一个值 当摇的时候把加速赋进去 然后当加速变小的时候 就做处理内 我没用过 也是自己想的 呵呵 希望这样的思路可以帮到你吧 解决方案二: 感觉思路应该不难呀,既然要停止,那就设一个isShaking布尔变量

控制台输出-在Eclipse控制台中监听用户的键盘事件

问题描述 在Eclipse控制台中监听用户的键盘事件 最近在用java编写模拟一个人力资源管理系统,是在控制台实现的.其中有某个功能需要用户输入日期.日期是年月日一起输入的,我想在用户输完年份之后,控制台自动为用户打印出一个短横杠帮助用户输入月份.但是前提是用户还没有按下回车.怎样在用户键盘输入的过程中监听到用户目前已经输入几个字符?有没有大神给点建议. 解决方案 http://www.codeweblog.com/%E5%9C%A8javascript%E4%B8%AD%E7%9B%91%E5

能不能在listview中监听插入删除的事件?

问题描述 能不能在listview中监听插入删除的事件? 能不能在listview中监听插入删除的事件?怎么在listview修改的时候发消息出去给主界面? 解决方案 ListView的监听事件ListView事件监听Listview监听事件的随笔.... 解决方案二: listview监听删除事件应该是监听适配器布局里面的某个控件吧,删除操作成功后,调用activity或者fragment请求数据的代码方法 重新给listview赋值就好了啊

Android项目类似淘宝 电商 搜索功能,监听软键盘搜索事件,延迟自动搜索,以及时间排序的搜索历史记录的实现_Android

最近跳槽去新公司,接受的第一个任务是在 一个电商模块的搜索功能以及搜索历史记录的实现. 需求和淘宝等电商的功能大体差不多,最上面一个搜索框,下面显示搜索历史记录.在EditText里输入要搜索的关键字后,按软键盘的搜索按键/延迟xxxxms后自动搜索.然后将搜索的内容展示给用户/提示用户没有搜到相关信息. 历史记录是按时间排序的,最新的在前面,输入以前搜索过的关键字,例如牛仔裤(本来是第二条),会更新这条记录的时间,下次再看,牛仔裤的排列就在第一位了.并且有清除历史记录的功能. 整理需求,大致需

javaweb-Extjs2.0.2中 监听file的change事件是怎么回事

问题描述 Extjs2.0.2中 监听file的change事件是怎么回事 var form = new Ext.form.FormPanel({ renderTo:'file', labelAlign: 'right', labelWidth: 60, frame:true, autoWidth: true, height:200, fileUpload: true, items: [{ xtype: 'textfield', fieldLabel: '文件名', listeners : {