Ich habe eine schwere Funktion, die nicht ordnungsgemäß in der Hauptzeitleiste ausgeführt werden (weil es eine lange Zeit dauert, um beendet zu werden und das Programm abstürzt) . daher habe ich nach Multithreading in Luft (as3) gesucht, aber alle Beispiele, die ich gefunden habe, hat erklärt, wie man separate swf-Dateien in Arbeitern. Wie kann ich eine Funktion in einem Arbeiter (Thread) ausführen?Adobe Air AS3: Wie man eine Funktion in Worker_ Multithreading (von Arbeitnehmern)
2
A
Antwort
2
Offizielle Worker-Dokumentation (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/Worker.html): Jeder zusätzliche Worker wird aus einem separaten swf erstellt.
Sie müssen entweder Ihren schweren Code als zusätzliche SWF-Datei anordnen oder umformatieren, damit Sie ihn anhalten und fortsetzen und seine Ausführung über mehrere Frames (ENTER_FRAME-Events, nicht Timeline-Frames, ofc) verteilen können.
P.S. Auf der gleichen Dokumentationsseite gibt es eine Möglichkeit, die Haupt-SWF in zwei Works auszuführen, sodass Sie sie in die Steuerung von Anwendungs- und Workeranwendungen einteilen können.
// The primordial worker's main class constructor
public function PrimordialWorkerClass()
{
init();
}
private function init():void
{
var swfBytes:ByteArray = this.loaderInfo.bytes;
// Check to see if this is the primordial worker
if (Worker.current.isPrimordial)
{
// create a background worker
var bgWorker:Worker = WorkerDomain.current.createWorker(swfBytes);
// listen for worker state changes to know when the worker is running
bgWorker.addEventListener(Event.WORKER_STATE, workerStateHandler);
// set up communication between workers using
// setSharedProperty(), createMessageChannel(), etc.
// ... (not shown)
bgWorker.start();
}
else // entry point for the background worker
{
// set up communication between workers using getSharedProperty()
// ... (not shown)
// start the background work
}
}
Verwandte Themen
- 1. as3 Adobe Air Access iPad-Gerätekamera
- 2. Endless Repeating scrolling Hintergrund as3 Adobe Air
- 3. Adobe AIR - RTMFP Fehler
- 4. Wie starte ich Adobe Air-Anwendung ohne Adobe Air Player?
- 5. Wie optimiert man eine große JPEG auf AIR IOS? (AS3)
- 6. Bildschirmfreigabe in Adobe Air
- 7. Adobe Air - Verbesserte Startzeit
- 8. Adobe AIR readLine
- 9. Dekompilieren von Adobe AIR-Anwendungen
- 10. So rufen Sie AS3-Code von einer Webseite in einer Adobe AIR-Anwendung auf?
- 11. Adobe Air http Auth
- 12. ADOBE AIR FÜR Android
- 13. JSONP Callbacks in Adobe Air
- 14. Adobe AIR, Speicherverluste
- 15. Was ist Adobe Air?
- 16. Adobe Air Fragen/Ressourcen
- 17. Adobe Air - Transparente Stufe
- 18. Adobe AIR copyTo
- 19. Adobe AIR Programm ausführen
- 20. Adobe Air und .NET
- 21. Datenbankabstraktionsschicht für AIR? (AS3)
- 22. Adobe AIR-Anwendungsintegrität
- 23. Dateischutz in Adobe AIR (Flex)
- 24. Wie startet man einen NativeProcess in Adobe Air Desktop-Anwendung?
- 25. Adobe Air Befehlszeilenparameter
- 26. AIR-AS3 4K-Bildschirm falsche Größe erkannt
- 27. Wie installiert man Adobe Air SDK in Linux?
- 28. Adobe Air - Anwendung Updater
- 29. Adobe AIR - Vollbild/Anzeige
- 30. Fiddler/Firebug für Adobe AIR?
lieben dank Organis, ich bin ein Benutzer aus dem Iran und Adobe unsere IP blockiert ist, können Sie bitte ein Beispiel für Post –
Done „Haupt-SWF in zwei Arbeiter laufen“. Sie können auch einen Online-Anonymisierungs-Proxy verwenden, der diese unbequeme Blockade für Sie löst. – Organis
@AmirRasti Wenn Sie den Chrome-Browser verwenden, versuchen Sie eine Erweiterung namens UltraSurf VPN. Holen Sie sich auch AdBlock. Dann können Sie jede Webseite der Welt sehen, die nicht blockiert ist. –