Adobe® Flash® Platform용 ActionScript® 3.0 참조 설명서
 |  패키지 및 클래스 목록 숨기기 |  패키지  |  클래스  |  새로운 내용  |  색인  |  부록  |  영어로 표시되는 이유
필터: AIR 30.0 이하, Flash Player 30.0 이하, Flash Lite 4
Flex 4.6 이하, Flash Pro CS6 이하
필터 숨기기
flash.system 

MessageChannel  - AS3

패키지x

최상위 레벨
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

언어 요소

전역 상수
전역 함수
연산자
명령문, 키워드 및 지시문
특수 유형 연산자

부록

새로운 내용
컴파일러 오류
컴파일러 경고
런타임 오류
ActionScript 3으로 마이그레이션
지원되는 문자 세트
MXML 전용 태그
모션 XML 요소
Timed Text 태그
사용되지 않는 요소의 목록
액세스 가능성 구현 상수
ActionScript 예제 사용 방법
법적 고지 사항
패키지flash.system
클래스public final class MessageChannel
상속MessageChannel Inheritance EventDispatcher Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

MessageChannel 클래스는 특정 워커가 다른 워커와 통신하기 위한 메커니즘을 제공합니다. 메시지 채널은 단방향 통신 채널입니다. 메시지 채널의 송신 워커는 메시지 채널을 사용하여 수신 워커에 객체를 전송합니다. MessageChannel 객체는 메시지를 사용할 수 있음을 나타내는 이벤트를 수신자에게 전달하는 메시지를 워커 간에 전송하기 위한 유일한 수단입니다. 다른 데이터 공유 메커니즘에서는 값을 설정할 수는 있지만 변경된 데이터를 알려 주는 이벤트를 제공하지는 않습니다.

각각의 MessageChannel 객체에는 송신 워커에서 수신 워커로 전송되는 메시지 객체의 대기열이 포함되어 있습니다. send()를 호출할 때마다 대기열에 객체가 추가됩니다. receive()를 호출할 때마다 대기열에서 가장 오래된 메시지 객체가 검색됩니다.

MessageChannel() 생성자를 호출하여 MessageChannel() 인스턴스를 직접 만들 필요는 없습니다. MessageChannel 인스턴스를 만들려면 채널의 메시지를 전송하는 Worker 객체의 createMessageChannel() 메서드를 호출하여 수신 Worker 객체를 인수로 전달합니다.

MessageChannel 객체를 사용하여 메시지를 전송하기 위한 일반적인 작업 과정은 다음과 같습니다.

  1. 송신 워커의 createMessageChannel() 메서드를 호출하여 메시지 채널을 만듭니다.

        // In the sending worker swf
        var sendChannel:MessageChannel;
        sendChannel = Worker.current.createMessageChannel(receivingWorker);
  2. Worker.setSharedProperty()를 호출하거나 기존 메시지 채널을 통해 이를 전송하는 방식으로 메시지 채널을 다른 워커로 전달합니다.

        receivingWorker.setSharedProperty("incomingChannel", sendChannel);
  3. 수신 워커의 코드가 channelMessage 이벤트에 대해 MessageChannel 객체에 리스너를 등록합니다.

        // In the receiving worker swf
        var incomingChannel:MessageChannel;
        incomingChannel = Worker.current.getSharedProperty("incomingChannel");
        incomingChannel.addEventListener(Event.CHANNEL_MESSAGE, handleIncomingMessage);
  4. 송신 워커의 코드가 send() 메서드를 호출하여 메시지를 전송합니다.

        // In the sending worker swf
        sendChannel.send("This is a message");
  5. 런타임이 수신 워커 코드에서 메시지가 전송되었음을 나타내는 이벤트 처리기를 호출합니다.

        // In the receiving worker swf
        // This method is called when the message channel gets a message
        private function handleIncomingMessage(event:Event):void
        {
            // Do something with the message, as shown in the next code listing
        }
  6. 수신 워커의 코드가 receive() 메서드를 호출하여 메시지를 가져옵니다. receive() 메서드를 통해 반환되는 객체는 send() 메서드로 전달되는 객체와 데이터 유형이 동일합니다.

        var message:String = incomingChannel.receive() as String;

위에 설명된 비동기식 작업 과정 외에 receive() 메서드를 사용한 대체 작업 과정을 통해 수신 워커의 코드를 일시 정지하고 메시지가 전송될 때까지 대기할 수도 있습니다. 자세한 내용은 receive() 메서드 설명을 참조하십시오.

MessageChannel 클래스는 워커 간에 복사되는 대신 이들 간에 공유되는 특수한 객체 유형의 하나입니다. Worker 객체의 setSharedProperty() 메서드를 호출하거나 MessageChannel 객체를 사용하는 방식으로 워커 간에 메시지 채널을 전달하는 경우, 두 워커 모두 런타임의 메모리에서 동일한 MessageChannel 객체를 참조합니다.

관련 API 요소



공용 속성
 속성정의 주체
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  messageAvailable : Boolean
[읽기 전용] MessageChannel의 내부 메시지 대기열에 송신 워커로부터 받은 메시지가 하나 이상 있는지 여부를 나타납니다.
MessageChannel
  state : String
[읽기 전용] MessageChannel 객체의 현재 상태(열림, 닫는 중 또는 닫힘)를 나타냅니다.
MessageChannel
공용 메서드
 메서드정의 주체
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
[재정의] 리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다.
MessageChannel
  
모든 메시지가 수신되면 현재 MessageChannel이 닫히도록 합니다.
MessageChannel
 Inherited
이벤트를 이벤트 흐름으로 전달합니다.
EventDispatcher
 Inherited
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
  
receive(blockUntilReceived:Boolean = false):*
이 메시지 채널을 통해 전송되는 메시지의 대기열에서 단일 메시지 객체를 검색합니다.
MessageChannel
  
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
[재정의] EventDispatcher 객체에서 리스너를 제거합니다.
MessageChannel
  
send(arg:*, queueLimit:int = -1):void
송신 워커에서 객체를 전송하여 수신 워커에 대한 메시지 대기열에 추가합니다.
MessageChannel
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다.
Object
  
[재정의] 지정된 객체의 문자열 표현을 반환합니다.
MessageChannel
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
 Inherited
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
이벤트
 이벤트 요약 정의 주체
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다.EventDispatcher
  송신 워커가 이 MessageChannel 객체의 send() 메서드를 호출할 때마다 전달되며, MessageChannel 인스턴스의 대기열에서 새 메시지 객체를 사용할 수 있음을 나타냅니다.MessageChannel
  메시지 채널의 state 속성 값이 변경되는 경우 전달됩니다.MessageChannel
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다.EventDispatcher
속성 세부 정보

messageAvailable

속성
messageAvailable:Boolean  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

MessageChannel의 내부 메시지 대기열에 송신 워커로부터 받은 메시지가 하나 이상 있는지 여부를 나타납니다.



구현
    public function get messageAvailable():Boolean

state

속성 
state:String  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

MessageChannel 객체의 현재 상태(열림, 닫는 중 또는 닫힘)를 나타냅니다. 이 속성의 가능한 값은 MessageChannelState 클래스에 상수로 정의됩니다.



구현
    public function get state():String

관련 API 요소

메서드 세부 정보

addEventListener

()메서드
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. 표시 목록의 모든 노드에서 특정 유형의 이벤트, 단계, 우선 순위에 대한 이벤트 리스너를 등록할 수 있습니다.

이벤트 리스너의 등록을 마친 뒤에는 addEventListener()를 추가로 호출하여 그 우선 순위를 변경할 수 없습니다. 리스너의 우선 순위를 변경하려면 먼저 removeListener()를 호출해야 합니다. 그런 다음 해당 리스너를 새로운 우선 순위 레벨로 다시 등록할 수 있습니다.

일단 리스너가 등록된 뒤에 type 또는 useCapture 값을 달리하여 addEventListener()를 이어서 호출하면 별도의 리스너 등록이 생성된다는 것에 유의합니다. 예를 들어 useCapturetrue로 설정된 리스너를 등록하면 이 리스너는 캡처 단계 동안에만 수신합니다. 그러나 useCapturefalse로 설정하고 동일한 리스너 객체를 사용하여 addEventListener()를 다시 호출하면 별도로 두 개의 리스너가 등록되어, 한 리스너는 캡처 단계 동안 수신하고 다른 하나는 대상 및 버블링 단계 동안 수신합니다.

대상 단계 또는 버블링 단계 전용의 이벤트 리스너를 등록할 수는 없습니다. 버블링은 대상 노드의 조상에만 적용되기 때문에 이들 단계는 등록 과정에서 하나로 통합됩니다.

사용하지 않는 이벤트 리스너는 removeEventListener()를 호출하여 제거하도록 합니다. 이렇게 하지 않으면 메모리 문제가 발생할 수 있습니다. useWeakReference 매개 변수가 true로 설정되지 않은 경우 전달하는 객체가 있는 한, 가비지 수집기는 이벤트 리스너를 제거하지 않으므로 리스너는 메모리에서 자동으로 제거되지 않습니다.

EventDispatcher 인스턴스를 복사해도 연결된 이벤트 리스너는 복사되지 않습니다. 새로 만든 노드에 이벤트 리스너가 필요한 경우, 노드를 만든 후 리스너를 연결해야 합니다. 그러나 EventDispatcher 인스턴스를 이동할 때에는 연결된 이벤트 리스너도 함께 이동됩니다.

이벤트를 처리 중인 노드에서 이벤트 리스너를 등록하는 경우, 그 이벤트 리스너는 현재 단계 동안에는 트리거되지 않지만 이벤트 흐름에서 이후 단계(예: 버블링 단계) 동안에는 트리거될 수 있습니다.

이벤트를 처리 중인 노드에서 이벤트 리스너를 제거하는 경우, 그 리스너는 현재 액션에 의해 트리거됩니다. 일단 제거된 이벤트 리스너는 이후의 처리를 위해 재등록하지 않는 한 다시는 호출되지 않습니다.

매개 변수

type:String — 이벤트 유형입니다.
 
listener:Function — 이벤트를 처리하는 리스너 함수입니다. 아래 예제에서 보듯이, 이 함수는 Event 객체를 유일한 매개 변수로 사용하며 아무 것도 반환하지 않아야 합니다.
function(evt:Event):void

함수의 이름은 임의로 지정할 수 있습니다.

 
useCapture:Boolean (default = false)리스너가 캡처 단계에서 작동하는지 아니면 대상 및 버블링 단계에서 작동하는지를 결정합니다. useCapturetrue로 설정된 경우, 리스너는 캡처 단계에서만 이벤트를 처리하고 대상 또는 버블링 단계에서는 작동하지 않습니다. useCapturefalse인 경우, 리스너는 대상 또는 버블링 단계 동안에만 이벤트를 처리합니다. 세 단계 모두에서 이벤트를 수신하려면 addEventListener를 두 번 호출해야 합니다. 먼저 useCapturetrue로 설정하여 호출한 다음 useCapturefalse로 설정하여 다시 호출합니다.
 
priority:int (default = 0) — 이벤트 리스너의 우선 순위 레벨입니다. 우선 순위는 부호 있는 32비트 정수로 지정됩니다. 숫자가 클수록 우선 순위가 높습니다. 우선 순위가 n인 리스너를 모두 처리한 뒤에 우선 순위가 n -1인 리스너가 처리됩니다. 둘 이상의 리스너가 우선 순위가 같을 경우, 추가된 순서에 따라 처리됩니다. 기본 우선 순위는 0입니다.
 
useWeakReference:Boolean (default = false) — 리스너에 대한 참조가 강한지 아니면 약한지를 결정합니다. 강한 참조(기본값)는 해당 리스너의 가비지 수집을 막습니다. 약한 참조는 이를 막지 못합니다.

클래스 레벨 멤버 함수는 가비지 수집의 영향을 받지 않으므로 가비지 수집과 상관없이 클래스 레벨 멤버 함수의 useWeakReferencetrue로 설정할 수 있습니다. 중첩된 내부 함수인 리스너에 대해 useWeakReferencetrue로 설정하면 이 함수에서 가비지 수집을 수행하게 되어 더 이상 유지되지 않습니다. 내부 함수에 대한 참조를 만들면(다른 변수에 저장) 이 함수에서 가비지 수집을 수행하지 않고 계속 유지됩니다.

close

()메서드 
public function close():void

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

모든 메시지가 수신되면 현재 MessageChannel이 닫히도록 합니다.

이 메서드를 호출한 후에는 더 이상 send() 메서드를 호출하여 대기열에 메시지를 추가할 필요가 없습니다. send() 호출이 실패하고 false가 반환됩니다.

또한 대기열에서 이미 대기 중인 메시지를 호출하려면 receive() 메서드만 호출하면 됩니다. 대기열이 비어 있는 경우 receive()를 호출하면 null이 반환됩니다.


이벤트
channelState:Eventclose() 메서드를 호출할 때 전달되며, 이를 통해 state 속성이 MessageChannelState.CLOSING으로 설정됩니다. 모든 메시지가 수신되고 state 속성이 MessageChannelState.CLOSED로 설정되면 다시 전달됩니다.

receive

()메서드 
public function receive(blockUntilReceived:Boolean = false):*

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

이 메시지 채널을 통해 전송되는 메시지의 대기열에서 단일 메시지 객체를 검색합니다.

송신 워커의 코드가 MessageChannel 객체의 send() 메서드를 호출할 때마다 메시지 채널의 내부 메시지 대기열에 단일 객체가 추가됩니다. 이러한 객체는 receive() 메서드를 호출하는 수신 워커를 호출하여 한 번에 하나씩 제거될 때까지 대기열에서 계속 누적됩니다. 메시지 객체는 전송되는 순서대로 수신됩니다.

대기열에 수신할 메시지 객체가 들어 있는지 확인하려면 messageAvailable 속성을 사용합니다.

일반적인 경우 send()로 전달되는 객체는 AMF3 형식으로 직렬화됩니다. receive()를 호출하여 대기열에서 제거되는 경우에는 수신 워커에서 ActionScript 객체(원본 객체의 복사본)로 직렬화가 해제되고 워커에서는 해당 복사본에 대한 참조를 수신합니다. 특정 유형의 객체가 워커 간에 복사되는 대신 공유됩니다. 이 경우 수신 워커가 가져오는 객체는 객체의 새 복사본이 아닌 공유되는 객체 자체에 대한 참조입니다. 이러한 사례에 대한 자세한 내용은 send() 메서드 설명을 참조하십시오.

메시지 대기열이 비어 있는 상태에서 blockUntilReceived 매개 변수에 대해 true를 전달하면 메서드의 비헤이비어가 변경됩니다. 이 경우 워커는 receive() 호출 시 해당 실행 스레드를 일시 정지하며 코드를 추가로 실행하지 않습니다. 송신 워커가 send()를 호출하는 경우 메시지를 수신함으로써 receive() 호출이 완료됩니다. 그러면 워커는 receive 호출에 이어지는 다음 코드 줄에서 코드 실행을 다시 시작합니다.

매개 변수

blockUntilReceived:Boolean (default = false) — 워커의 실행 스레드가 메시지 객체를 수신한 다음 실행을 계속할지(false), 아니면 receive() 호출 시 일지 정지했다가 대기열이 비어 있으면 메시지를 전송하도록 대기할 것인지(true)를 나타냅니다.

반환값
* — 송신 워커에 의해 send() 메서드로 전달되는 객체의 복사본 객체가 워커 간에 공유되는 특수한 유형에 속하는 경우 반환 값은 공유되는 객체의 복사본이 아닌 객체에 대한 참조입니다. 대기열에 사용할 수 있는 메시지가 없는 경우 메서드에서는 null을 반환합니다.

오류
IOError — 메서드가 호출될 때 채널이 닫히는 경우 또는 blockUntilReceived 인수로 인해 실행이 일시 정지된 다음 다른 워커에 의해 채널이 닫히는 경우
 
ArgumentError — 호출하는 코드가 수신 워커에 없는 경우
 
ScriptTimeoutError — 메서드가 Flash Player의 최초 워커 코드에서 호출되고 blockUntilReceived 인수로 인해 워커가 시간 초과 제한(기본값은 15초)보다 길게 일시 정지되는 경우

관련 API 요소

removeEventListener

()메서드 
override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

EventDispatcher 객체에서 리스너를 제거합니다. EventDispatcher 객체와 함께 등록된 리스너 중 일치하는 것이 없다면 이 메서드를 호출해도 아무 영향이 없습니다.

매개 변수

type:String — 이벤트 유형입니다.
 
listener:Function — 제거할 리스너 객체입니다.
 
useCapture:Boolean (default = false)리스너가 캡처 단계용으로 등록되었는지 아니면 대상 및 버블링 단계용으로 등록되었는지를 지정합니다. 리스너가 캡처 단계 및 대상/버블링 단계에 대해 모두 등록된 경우 두 리스너를 제거하려면 removeEventListener()를 두 번 호출해야 합니다. 한 번은 useCapture()true로 설정하여 호출하고 한 번은 useCapture()false로 설정하여 호출합니다.

send

()메서드 
public function send(arg:*, queueLimit:int = -1):void

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

송신 워커에서 객체를 전송하여 수신 워커에 대한 메시지 대기열에 추가합니다.

arg 매개 변수로 전달되는 객체는 거의 모든 객체일 수 있습니다. 아래 설명된 예외를 제외하고 arg 매개 변수로 전달되는 모든 객체는 참조에 의해 전달되지 않습니다. send()가 호출된 후 특정 워커의 객체에서 변경된 사항은 다른 워커로 전달되지 않습니다. 객체는 AMF3 형식으로 직렬화하고 receive()가 호출될 때 수신 워커에서 새 객체로 직렬화를 해제하는 방식으로 복사됩니다. 이 때문에 표시 객체를 비롯해 AMF3 형식으로 직렬화할 수 없는 객체는 arg 매개 변수로 전달할 수 없습니다. 사용자 정의 클래스를 올바르게 전달하려면 flash.net.registerClassAlias() 함수 또는 [RemoteClass] 메타데이터를 사용하여 클래스 정의를 등록해야 합니다. 어느 쪽 방법을 사용하든 클래스의 두 워커 버전 모두에 대해 동일한 별칭을 사용해야 합니다.

객체가 워커 간에 공유되지 않는 규칙의 예외에 해당하는 객체의 유형에는 다섯 가지가 있습니다.

  • 작업자가
  • MessageChannel
  • 공유 가능 ByteArray(해당 shareable 속성이 true로 설정된 ByteArray 객체)
  • Mutex
  • Condition

이러한 객체의 인스턴스를 arg 매개 변수로 전달하는 경우 각각의 워커는 동일한 기본 객체를 참조합니다. 한 워커에 있는 인스턴스에서 변경된 내용은 다른 워커에서 즉시 사용 가능합니다. 또한 send()를 사용하여 이러한 객체의 동일한 인스턴스를 두 번 이상 전달하는 경우 런타임은 수신 워커에 해당 객체의 새 복사본을 만들지 않습니다. 대신 동일한 참조가 다시 사용되므로 시스템 메모리 사용량이 줄어듭니다.

기본적으로 이 메서드는 객체를 대기열에 추가하고 값을 즉시 반환하여 다음 코드 줄을 계속 실행합니다. 대기열이 특정 크기 이상으로 증가하지 않도록 하려면 queueLimit 매개 변수를 사용하여 대기열에서 허용할 최대 항목 수를 지정하면 됩니다. 대기열의 항목 수가 지정한 제한보다 큰 상태에서 send()를 호출하면 워커는 send() 호출 시 실행 스레드를 일시 정지합니다. 수신 워커가 대기열 크기가 지정된 대기열 제한 아래로 내려갈 만큼 충분한 횟수의 receive()를 호출하는 경우 send() 호출이 완료됩니다. 그러면 워커는 다음 코드 줄에서 실행을 계속 이어갑니다.

매개 변수

arg:* — 메시지 대기열에 추가할 객체
 
queueLimit:int (default = -1) — 메시지 대기열에 포함될 수 있는 메시지 객체의 최대 수 대기열에 포함되어 있는 객체 수가 제한보다 많은 경우 송신 워커는 메시지가 수신되고 대기열 크기가 제한 아래로 내려갈 때까지 실행을 일시 정지합니다.


이벤트
channelMessage:Event — 수신 워커에 대기열에서 메시지 객체를 사용할 수 있음을 알리기 위해 전달됩니다.

오류
IOError — 메서드가 호출될 때 채널이 닫히는 경우 또는 queueLimit 인수로 인해 실행이 일시 정지된 다음 다른 워커에 의해 채널이 닫히는 경우
 
ArgumentError — 호출하는 코드가 송신 워커에 없는 경우
 
ScriptTimeoutError — 메서드가 Flash Player의 최초 워커 코드에서 호출되고 queueLimit 인수로 인해 워커가 시간 초과 제한(기본값은 15초)보다 길게 일시 정지되는 경우

관련 API 요소

toString

()메서드 
override public function toString():String

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

지정된 객체의 문자열 표현을 반환합니다.

참고: Object 클래스의 메서드는 Object의 프로토타입에 동적으로 만들어집니다. Object의 하위 클래스에서 이 메서드를 다시 정의할 때 override 키워드를 사용하지 마십시오. 예를 들어 Object의 하위 클래스에서는 기본 클래스에 대한 재정의를 사용하는 대신 function toString():String을 구현합니다.

반환값
String — 객체의 문자열 표현입니다.
이벤트 세부 정보

channelMessage

이벤트
이벤트 객체 유형: flash.events.Event
속성 Event.type = flash.events.Event.CHANNEL_MESSAGE

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

송신 워커가 이 MessageChannel 객체의 send() 메서드를 호출할 때마다 전달되며, MessageChannel 인스턴스의 대기열에서 새 메시지 객체를 사용할 수 있음을 나타냅니다.

Event.CHANNEL_MESSAGE 상수는 channelMessage 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse. 취소할 기본 비헤이비어가 없습니다.
currentTarget이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
target이벤트를 전달한 객체입니다.

channelState

이벤트  
이벤트 객체 유형: flash.events.Event
속성 Event.type = flash.events.Event.CHANNEL_STATE

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

메시지 채널의 state 속성 값이 변경되는 경우 전달됩니다.

Event.CHANNEL_STATE 상수는 channelState 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse. 취소할 기본 비헤이비어가 없습니다.
currentTarget이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
target이벤트를 전달한 객체입니다.




[ X ]영어로 표시되는 이유
ActionScript 3.0 참조 설명서의 내용이 영어로 나타납니다.

ActionScript 3.0 참조 설명서 중 일부는 전체 언어로 번역되지 않았습니다. 언어 요소가 번역되지 않은 경우 영어로 나타납니다. 예를 들어 ga.controls.HelpBox 클래스는 어떤 언어로도 번역되지 않았습니다. 그러므로 한국어 버전의 참조 설명서에서 ga.controls.HelpBox 클래스는 영어로 나타납니다.