`
ianysoft
  • 浏览: 79030 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

事件优先级总结

    博客分类:
  • flex
阅读更多
package event
{
	import flash.events.Event;

	import spark.components.Button;

	[Event(name="test", type="flash.events.Event")]
	[Event(name="demo", type="flash.events.Event")]

	public class EventPriorityButton extends Button
	{
		public function EventPriorityButton()
		{
			super();
			this.addEventListener("test", test1);
			this.addEventListener("test", test2);
			this.addEventListener("demo", demo2);
			this.addEventListener("demo", demo1);
		}

		private function test1(event:Event):void
		{
			trace("EventPriorityButton.test1");
		}

		private function test2(event:Event):void
		{
			trace("EventPriorityButton.test2");
		}

		private function demo1(event:Event):void
		{
			trace("EventPriorityButton.demo1");
		}

		private function demo2(event:Event):void
		{
			trace("EventPriorityButton.demo2");
		}
	}
}


<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"
			   minWidth="955"
			   minHeight="600"
			   xmlns:event="event.*"
			   creationComplete="eventPriorityTestApp_creationCompleteHandler(event)">
	<fx:Script>
		<![CDATA[
			import mx.events.FlexEvent;

			protected function eventPriorityTestApp_creationCompleteHandler(event:FlexEvent):void
			{
				eventPriorityTestButton.addEventListener("test", test3);
				eventPriorityTestButton.addEventListener("test", test4, false, 20000);
				eventPriorityTestButton.addEventListener("demo", demo3);
				eventPriorityTestButton.addEventListener("demo", demo4, false, 10000);
			}

			protected function eventPriorityTestButton_clickHandler(event:MouseEvent):void
			{
				eventPriorityTestButton.dispatchEvent(new Event("demo"));
				eventPriorityTestButton.dispatchEvent(new Event("test"));
			}

			protected function test3(event:Event):void
			{
				trace("EventPriorityApp.test3");
			}

			protected function test4(event:Event):void
			{
				trace("EventPriorityApp.test4");
			}

			protected function demo3(event:Event):void
			{
				trace("EventPriorityApp.demo3");
			}

			protected function demo4(event:Event):void
			{
				trace("EventPriorityApp.demo4");
			}
		]]>
	</fx:Script>
	<event:EventPriorityButton id="eventPriorityTestButton"
							   label="事件优先级测试"
							   click="eventPriorityTestButton_clickHandler(event)"/>
</s:Application>


测试输出结果:
  • EventPriorityApp.demo4
  • EventPriorityButton.demo2
  • EventPriorityButton.demo1
  • EventPriorityApp.demo3
  • EventPriorityApp.test4
  • EventPriorityButton.test1
  • EventPriorityButton.test2
  • EventPriorityApp.test3



测试总结:
  • 优先级对同一类型事件有效,对不同类型事件无效,虽然test4优先级20000高于demo4优先级10000,但是先派发demo事件,所有demo4还是先执行了
  • 事件类型相同优先级相同的话谁先注册就先执行谁

分享到:
评论

相关推荐

    51单片机中的中断优先级总结

    其中断系统是其核心特性之一,能够帮助处理突发情况或外部事件,从而提高系统的实时性和响应速度。 #### 二、中断优先级的基本概念 51单片机支持两种类型的中断优先级:逻辑优先级和物理优先级。 - **逻辑优先级*...

    XS128中断优先级设置

    其中,中断机制是XS128的一个重要特性,它允许外部事件或内部事件在任何时刻打断处理器的正常执行流程,并跳转到预先定义好的处理函数进行处理,从而实现了系统的实时性和响应性。 #### 二、中断优先级设置原理 XS...

    75、事件处理的优先级和GenericEvent1

    ### 事件处理的优先级与 GenericEvent 在 Symfony 中的应用 #### 一、事件处理的优先级 在 Symfony 框架中,事件处理机制是非常重要的一个组成部分,它允许开发者通过事件监听器或事件订阅者的方式来扩展框架的...

    单片机外中断优先级实验

    总结来说,"单片机外中断优先级实验"旨在让学生熟悉单片机中断系统的运作机制,学会使用Proteus进行硬件仿真,并通过汇编语言编程实现中断服务子程序。这个实验将深化对单片机中断处理的理解,为后续的嵌入式系统...

    51汇编之外部中断带优先级-汇编.zip

    总结来说,"51汇编之外部中断带优先级"的主题涵盖了51单片机的中断系统,包括中断源、优先级、中断向量、中断处理流程等方面的知识,通过汇编代码实现对外部中断的有效管理和响应,确保系统能够及时、正确地处理外部...

    51单片机中断优先级及中断嵌套

    总结来说,51单片机中断系统是其核心功能之一,掌握中断优先级和中断嵌套对于编写高效稳定的单片机程序至关重要。正确配置和理解中断优先级寄存器IP的设置,能够帮助开发者合理安排中断执行顺序,充分利用中断嵌套...

    C语言符号优先级.docx

    C 语言符号优先级总结 C 语言中的运算符优先级是非常重要的知识点,对于程序员来说,了解运算符的优先级是非常必要的。但是,C 语言中有许多运算符,优先级也比较复杂,难以记忆。 为了帮助大家更好地记忆 C 语言...

    中断优先级_中断优先级_中断屏蔽_中断系统_

    中断系统在计算机硬件和操作...总结,中断优先级、中断屏蔽和中断系统是构建高效、可靠计算机系统的关键要素。通过理解这些概念,我们可以更好地设计和优化操作系统,确保系统在应对各种突发事件时能够做出正确的响应。

    2440 中断优先级问题

    总结来说,2440的中断优先级机制虽然不直接通过独立的优先级寄存器设定,但通过ARB_MODE和ARB_SEL的组合使用,实现了灵活的中断优先级管理。这种设计虽然相对复杂,但也赋予了系统更大的灵活性。对于开发者而言,...

    初学STM32-中断优先级相关知识点(浓缩)

    6. 中断优先级总结: - 工作中的中断:新中断根据抢占优先级决定是否打断现有中断,发生嵌套或挂起等待。 - 挂起的中断:所有挂起中断先按抢占优先级排序,再按子优先级排序,最后依据IRQ编号确定执行顺序。 - ...

    5G网络优化-基于频率优先级的切换应用、优先级切换流程、参数配置.docx

    以下是对这些文档内容的详细总结: #### **5G网络优化中的载波聚合技术** - **载波聚合的定义和作用**: - 载波聚合(CA)是3GPP在Release 10阶段引入的技术,通过将多个连续或非连续的载波聚合成更大的带宽,...

    cocos2d事件响应总结

    - 触摸事件按照优先级顺序传递给各个层,所有开启了触摸功能的层都会接收到触摸事件。 - 触摸事件不能被“吃掉”,即使前面的层已经处理了事件,后面层仍然会接收到。 2. **注册目标触摸委托** - 使用`...

    STM32中断优先级相关概念与使用笔记

    尽管每个中断通常与一个外围设备相关联,但这些外围设备可能具有多个能引发中断的中断源或中断事件。所有这些中断都通过特定的“中断通道”向内核提出中断请求。 - 当某个中断通道的优先级被设定后,相应外围设备的...

    Stm32中断优先级相关概念与使用笔记--word

    总结,STM32中断优先级的管理和使用是嵌入式系统设计中的重要环节,理解和掌握这些概念能够帮助开发者更有效地设计和调试系统,提高系统的响应速度和稳定性。通过深入学习和实践,我们可以充分利用STM32的中断机制,...

    飞思卡尔XS128外部中断优先级设置简易教程

    总结来说,飞思卡尔XS128的外部中断优先级设置涉及到IVBR、INT_CFADDR和INT_DATA5等多个寄存器的配置。通过理解这些寄存器的作用和中断处理机制,开发者可以有效地定制中断服务,优化系统性能,满足各种应用场景的...

    8051怎样开放和禁止中断,如何设置优先级

    总结来说,8051单片机的中断系统设计相对简单,通过IE寄存器和IP寄存器即可实现对中断的开放与禁止以及优先级设置。在实际应用中,合理利用这些机制对于提升系统的响应能力和稳定性有着重要作用。

    PriorityQueue-MEX-Matlab 优先级队列 matlab

    在计算机科学中,优先级队列通常用于调度任务、事件处理和其他需要快速访问最高优先级元素的场景。在MATLAB环境中,由于其内置的数据结构并不直接支持高效优先级队列操作,因此常常通过编写MEX文件来实现这一功能。 ...

    处理机调度先来先服务、优先级调度

    一旦一个进程被选中执行,它将一直执行到完成或被其他事件(如I/O操作)阻塞为止。FCFS调度算法的优点在于其公平性,所有进程都按顺序得到服务,不会出现某个进程长时间得不到执行的情况。然而,它的缺点也很明显,...

Global site tag (gtag.js) - Google Analytics