¿Flex 3 admite el enhebrado? Si es así, ¿hay ejemplos o enlaces que pueda ver?¿Flex 3 admite el enhebrado?
Respuesta
Según lo indicado por Alex here:
ActionScript es de un solo subproceso, si pasa mucho tiempo haciendo pesada computación, la interfaz de usuario no puede actualizarse mientras estás haciendo que computación para que aparezca su aplicación atascado o los efectos no se ejecutan sin problemas.
De forma similar, tampoco hay cedencia ni bloqueo en Actionscript. Si se supone que se debe ejecutar la siguiente línea de código, no puede evitar la ejecución de la siguiente línea de código . Eso significa que cuando llame a Alert.show(), , la siguiente línea de código siguiente se ejecutará de inmediato.
En muchos otros tiempos de ejecución, la ventana Alerta debe cerrarse antes de que continúe la próxima línea de código . Threading puede ser una característica de Actionscript algún día, pero hasta entonces, tiene que vivir con el hecho de que no existe tal cosa en este momento.
ActionScript 3 tiene un solo hilo.
Lo que puedes hacer es cortar el trabajo en rodajas lo suficientemente pequeñas como para que la capacidad de respuesta no se vea demasiado afectada. Por ejemplo:
private var _long_process_work_object:LongProcessWorkClass;
private var _long_process_timer:Timer;
private function startSomeLongAndIntensiveWork():void
{
_long_process_work_object = new LongProcessWorkClass();
_long_process_timer = new Timer(10);
_long_process_timer.addEventListener("timer", longProcessTimerHandler);
_long_process_timer.start();
}
private function longProcessTimerHandler(event:TimerEvent):void
{
_long_process_timer.stop();
// do the next slice of work:
// you'll want to calibrate how much work a slice contains to maximize
// performance while not affecting responsiveness excessively
_long_process_work_object.doSomeOfTheWork();
if (!_long_process_work_object.Done) {
// long process is not done, start timer again
_long_process_timer.start();
return;
}
// long process work is done, do whatever comes after
}
En algún lugar, en Adobe, Flash Player es compatible con múltiples hilos ... http://www.bytearray.org/?p=3007. Simplemente no está disponible públicamente todavía.
Aparte de eso, vea Multithreading or green threading in actionscript? También hay un few articles en Internet sobre el uso del multihilo de Pixel Bender para el procesamiento de datos.
Flex 3 se basa en ActionScript 3. ActionScript 3 no es compatible con multihilo (no se puede escribir código destinado a la ejecución de múltiples hilos). Una aplicación flexible compilada se ejecuta en la plataforma de Flash Player. Adobe Flash Player 11.4 y hasta más soporte para multihilo.
- 1. ¿Admite PySide Python 3?
- 2. Flex mobile admite funciones móviles nativas?
- 3. Enhebrado en GWT (Cliente)
- 4. Actionscript 3 fuera de Flash/Flex
- 5. Ampliación de matriz en Actionscript 3 (Flex)
- 6. Enhebrado para mejorar el rendimiento
- 7. Enhebrado básico
- 8. Enhebrado en Android
- 9. Enhebrado con Kinect
- 10. Enhebrado WPF C#
- 11. Enhebrado en C
- 12. C# Enhebrado y colas
- 13. Enhebrado cancelable.Timer en Python
- 14. Enhebrado y expresiones lambda
- 15. ¿Podemos usar el enhebrado en PL/SQL?
- 16. ¿Cómo funciona el enhebrado en Powershell?
- 17. Flex 3: cómo admitir la autenticación HTTP URLRequest?
- 18. XML y XMLList y XMLListCollection en Flex 3
- 19. Flex 3: ¿Cómo obtengo DataFieldColumn's dataField en su ItemRenderer?
- 20. ¿Obtiene la URL de la página actual de Flex 3?
- 21. flex 3 iterar a través de valores de objeto
- 22. ASP.NET MVC 3: ¿Admite la carga de múltiples archivos HTML5?
- 23. Enhebrado, CultureInfo .net, TPL, PLINQ
- 24. ¿Puedo usar flex sin el generador de Flex?
- 25. ¿Cómo puedo determinar el recuento de argumentos de una función en tiempo de ejecución en Flex 3?
- 26. Enhebrado en C#. Tarea interrumpible
- 27. Problema con el zócalo al utilizar el enhebrado
- 28. ¿El iterador admite + operador?
- 29. ¿Admite node.js el rendimiento?
- 30. C# Enhebrado: una condición de carrera ejemplo