Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 使用Worker类在动作脚本中执行多线程_Actionscript 3_Apache Flex - Fatal编程技术网

Actionscript 3 使用Worker类在动作脚本中执行多线程

Actionscript 3 使用Worker类在动作脚本中执行多线程,actionscript-3,apache-flex,Actionscript 3,Apache Flex,我的主线被暂停,我对动作脚本还不熟悉。 这一错误的原因可能是什么 Main Thread (Suspended: VerifyError: Error #1014: Class flash.system::Worker could not be found.) 此错误与工作进程未初始化有关。如果正在使用flash player,请尝试将其更新为最新版本和flash builder 请查看此链接以了解更多信息 如果您在使用或实现工人方面遇到问题,我制作了一个lib来帮助您,如果您愿

我的主线被暂停,我对动作脚本还不熟悉。 这一错误的原因可能是什么

 Main Thread (Suspended: VerifyError: Error #1014: Class flash.system::Worker   could not be found.)    

此错误与工作进程未初始化有关。如果正在使用flash player,请尝试将其更新为最新版本和flash builder

请查看此链接以了解更多信息

如果您在使用或实现工人方面遇到问题,我制作了一个lib来帮助您,如果您愿意,您可以提供帮助。。只需登录GitHub即可

实现是这样的

package
{
    import com.tavernari.asworker.ASWorker;
    import com.tavernari.asworker.notification.NotificationCenter;
    import com.tavernari.asworker.notification.NotificationCenterEvent;

    import flash.display.Sprite;

    public class ASWorkerDemo extends Sprite
    {
        private var asWorker:ASWorker;

        //BOTH AREA

        public function ASWorkerDemo()
        {
            //important know, all class start here will be replicated in all works.
            asWorker = new ASWorker(this.stage, uiWorkerStartedHandler, backWorkerStartedHandler);  
        }

        //BOTH AREA END

        //UI AREA START
        private function uiWorkerStartedHandler():void{
            //implement all class or calls for your UI

            NotificationCenter.addEventListener("FROM_BACK_EVENT_MESSAGE", onFromBackEventMessageHandler );

        }

        private function onFromBackEventMessageHandler(e:NotificationCenterEvent):void
        {
            trace(e.data);

            if(e.data == "completed job"){
                NotificationCenter.dispatchEventBetweenWorkers( new NotificationCenterEvent("NEXT_MESSAGE") );
            }
        }

        //UI AREA END

        //BACK AREA START

        private function backWorkerStartedHandler():void{
            //implement all class or calls for your BACK operations 
            NotificationCenter.addEventListener("NEXT_MESSAGE", uiCallForNextMessageHandler );
        }

        private function uiCallForNextMessageHandler():void
        {
            for(var i:int = 0; i < 15; ++i){
                NotificationCenter.dispatchEventBetweenWorkers( new NotificationCenterEvent("FROM_BACK_EVENT_MESSAGE", false, i) );
            }

            NotificationCenter.dispatchEventBetweenWorkers( new NotificationCenterEvent("FROM_BACK_EVENT_MESSAGE", false, "completed job") );
        }

        // BACK AREA END
    }
}
包
{
导入com.tavernari.asworker.asworker;
导入com.tavernari.asworker.notification.NotificationCenter;
导入com.tavernari.asworker.notification.NotificationCenterEvent;
导入flash.display.Sprite;
公共类ASWorkerDemo扩展了Sprite
{
私人var asWorker:asWorker;
//两个区域
公共函数ASWorkerDemo()
{
//重要的是,这里的所有课程都将在所有作品中复制。
asWorker=新asWorker(this.stage、uiWorkerStartedHandler、backWorkerStartedHandler);
}
//双区端
//UI区域开始
私有函数uiWorkerStartedHandler():void{
//为您的UI实现所有类或调用
NotificationCenter.addEventListener(“FROM_BACK_EVENT_MESSAGE”,onFromBackEventMessageHandler);
}
onFromBackEventMessageHandler的私有函数(e:NotificationCenterEvent):void
{
跟踪(如数据);
如果(如数据=“已完成的作业”){
NotificationCenter.工作人员之间的调度事件(新NotificationCenter事件(“下一条消息”);
}
}
//用户界面区域结束
//后区起跑
私有函数backWorkerStartedHandler():void{
//为后台操作实现所有类或调用
NotificationCenter.addEventListener(“下一条消息”,uiCallForNextMessageHandler);
}
私有函数uiCallForNextMessageHandler():void
{
对于(变量i:int=0;i<15;++i){
NotificationCenter.Workers之间的DispatchEvent(新NotificationCenter事件(“FROM_BACK_EVENT_MESSAGE”,false,i));
}
NotificationCenter.Workers之间的DispatchEvent(新NotificationCenter事件(“从返回事件消息”,false,“已完成作业”);
}
//后区端
}
}

祝工作人员好运

您使用的是哪个版本的Flash Builder,以及您使用哪个版本的SDK来构建您的项目?@Brian:我使用的是Adobe®Flash®Builder™ 4.6