He visto este Deployment.Current.Dispatcher.BeginInvoke (() => {...}) formato en algún código .IS se utiliza para hacer un trabajo en segundo plano? ¿Cuáles son los usos generales de la misma?¿Cuál es el uso de Deployment.Current.Dispatcher.BeginInvoke (() => {...})?
Respuesta
No, no quiere hacer el trabajo en un fondo hilo - es hacer un trabajo sobre la interfaz de usuario hilo. Por lo tanto, normalmente es llamado desde un hilo de fondo, con el fin de manipular la interfaz de usuario, que solo se puede hacer en el hilo de la interfaz de usuario.
El cuerpo de la expresión lambda es el código que desea ejecutar en el hilo de interfaz de usuario.
Cuando, se produce un acceso de excepción-hilo transversal no válida código que actualiza la interfaz de usuario se ejecuta a partir de un hilo que no sea el hilo de interfaz de usuario.
El despachador le permite pasar algún código más al hilo de interfaz de usuario desde otro hilo.
El proyecto que puse en este post lo demuestra, entre otros conceptos.
WebClient, HttpWebRequest and the UI Thread on Windows Phone 7
tendrá que utilizar Deployment.Current. Dispatcher en una aplicación SilverLight cuando se encuentra trabajando en un hilo de trabajo no UI (dentro de un contexto que no hereda de DependencyObject) y necesita actualizar la interfaz de usuario.
- 1. ¿Cuál es el uso del tipo Nullable <bool>?
- 2. ¿Cuál es el significado de <#= #>
- 3. ¿cuál es el uso básico de alignment_storage?
- 4. ¿Cuál es el uso de singletonList?
- 5. ¿Cuál es el uso de window.external?
- 6. ¿Cuál es el uso previsto de IllegalStateException?
- 7. ¿Cuál es el uso correcto de DataContext.Refresh()?
- 8. ¿Cuál es el uso de @SuppressWarnings
- 9. ¿Cuál es el uso de autómatas finitos?
- 10. ¿Cuál es el uso correcto de EnsureChildControls()?
- 11. ¿Cuál es el uso de la sintaxis = =?
- 12. ¿Cuál es el uso de Log4j API?
- 13. ¿Cuál es el uso principal de MarshalByRefObject?
- 14. ¿Cuál es el uso de LOCAL_MODULE_TAGS?
- 15. ¿Cuál es el uso de AtomicReferenceArray?
- 16. ¿Cuál es el uso de typedef?
- 17. ¿Cuál es el uso de "indulgente"?
- 18. ¿Cuál es el uso de - [NSUserDefaults registerDefaults:]?
- 19. ¿cuál es el uso de string.Clone()?
- 20. ¿Cuál es el uso de Indexers?
- 21. ¿Cuál es el uso del uso de init() en JavaScript?
- 22. ¿Cuál es el beneficio de <thead>
- 23. ¿Cuál es el propósito del uso?
- 24. ¿Cuál es el uso de la clase ArraySegment <T>?
- 25. ¿Cuál es el uso de <element contentEditable = "true"> en html?
- 26. ¿Cuál es el uso de "#pragma sección <XYZ>" en C?
- 27. ¿Cuál es la etiqueta <dl>?
- 28. >>> ¿Cuál es la operación en C++
- 29. CGRectIntegral ¿cuál es su uso?
- 30. ¿Cuál es la diferencia entre `>>> some_object` y` >>> print some_object` en el intérprete de Python?
Jon, la popularidad de sus publicaciones en SO es excepcional. Mi sombrero está fuera de tu alcance :) –
También es importante mencionar que BeginInvoke se puede usar desde el propio subproceso de la interfaz de usuario a una acción de seguimiento en el subproceso de la interfaz de usuario después de que la cola de acción de la interfaz de usuario esté vacía. Esencialmente posponer el trabajo hasta que el hilo de la interfaz de usuario ya no haga nada. – JustinAngel
@JonSkeet: cómo puedo ejecutar un código en una cadena de fondo, ya que este código bloquea mi barra de progreso para que no se muestre en la interfaz de usuario – Rohaan