![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: May 2009
Адрес: Санкт-Петербург
Сообщений: 79
|
Взял пример работы worker. Создал проект в FD, но после запуска ответа от воркера не приходит.
Output такой: [Starting debug session with FDB] [Main] HELLO [Main] HELLO [Main] HELLO А должен быть, как я понимаю, такой: [Starting debug session with FDB] [Main] HELLO [Worker] WORLD [Main] HELLO [Worker] WORLD [Main] HELLO [Worker] WORLD Вот код примера: protected var mainToWorker:MessageChannel; protected var workerToMain:MessageChannel; protected var worker:Worker; public function Main2():void { /** * Start Main thread **/ if(Worker.current.isPrimordial){ worker = WorkerDomain.current.createWorker(this.loaderInfo.bytes); mainToWorker = Worker.current.createMessageChannel(worker); workerToMain = worker.createMessageChannel(Worker.current); worker.setSharedProperty("mainToWorker", mainToWorker); worker.setSharedProperty("workerToMain", workerToMain); workerToMain.addEventListener(Event.CHANNEL_MESSAGE, onWorkerToMain); worker.start(); //Set an interval that will ask the worker thread to do some math setInterval(function():void{ mainToWorker.send("HELLO"); trace("[Main] HELLO"); }, 1000); } /** * Start Worker thread **/ else { //Inside of our worker, we can use static methods to //access the shared messgaeChannel's mainToWorker = Worker.current.getSharedProperty("mainToWorker"); workerToMain = Worker.current.getSharedProperty("workerToMain"); //Listen for messages from Main mainToWorker.addEventListener(Event.CHANNEL_MESSAGE, onMainToWorker); } } //Receive messages FROM the Main Thread protected function onMainToWorker(event:Event):void { var msg:* = mainToWorker.receive(); //When the main thread sends us HELLO, we'll send it back WORLD if(msg == "HELLO"){ workerToMain.send("WORLD"); } } //Set an interval that will ask the worker thread to do some math //Receive messages FROM the Worker protected function onWorkerToMain(event:Event):void { //Trace out whatever message the worker has sent us. trace("[Worker] " + workerToMain.receive()); } |
|
|||||
|
Регистрация: May 2009
Адрес: Санкт-Петербург
Сообщений: 79
|
Тоесть, если я правильно понимаю, если у меня в воркере раскрывается архив, то если я запускаю отладку, это работать не будет? Чтобы работало, надо запускать не под дебагером?
|
|
|||||
|
Регистрация: May 2009
Адрес: Санкт-Петербург
Сообщений: 79
|
А есть какой-нибудь аналог worker для actionscript, нормально работающий в дебаггере?
|
|
|||||
|
Регистрация: May 2009
Адрес: Санкт-Петербург
Сообщений: 79
|
Ок, спасибо. А, то я парился над этим пол дня. Интересно, а как-то можно определить из кода, под дебагером я запускаюсь или это релиз
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|