Me he estado familiarizando un poco con el nuevo tiempo de ejecución de Concurrency nativo de Visual Studio (ConcRT). ¿Es solo un descuido, o hay una razón válida de que ningún movimiento de datos cruzado tiene semántica de movimiento? Todos son semánticas de copia. No se puede mover a una cola concurrente, no se puede mover con una orden, etc. No se puede mover ni construir colas simultáneas.Rs refs en concurrencia
Respuesta
No conozco este marco específico, pero generalmente para las colas entre hilos, debe tener semántica de copia.
Imagine que creo un objeto, le tomo una referencia/puntero y luego lo muevo a la cola. Luego, el otro hilo lo mueve fuera de la cola. Entonces, ambos hilos pueden acceder a él al mismo tiempo.
Creo que, en el caso general, solo es necesario tener una copia siempre añadida o eliminada, no ambas (es decir, solo se necesita una copia). p.ej. Mudanza de copiado, pero esto sería semánticamente lo mismo que copiado de copiado.
Hay varias áreas en las que el soporte de rvalue podría mejorar ConcRT, los agentes y el PPL. Al igual que cualquier otro gran proyecto de software, cuando construye funciones que dependen de otras características nuevas, siempre existe el riesgo de que pueda entregar todo al mismo tiempo.
PPL fue un gran paso adelante, pero nunca dijimos que estaba "hecho". :-)
Si tiene sugerencias particulares en las que ConcRT, PPL o la biblioteca Agents deberían admitir la semántica de movimiento, abra una sugerencia en connect.microsoft.com.
- 1. Clojure Vector de Refs
- 2. ¿Es "refs/heads/master" lo mismo que "refs/remotes/origin/master" en Git?
- 3. concurrencia en PHP
- 4. Concurrencia en Amazon S3
- 5. Modelos de concurrencia en nodejs
- 6. Migración de concurrencia de Java para Scala concurrencia
- 7. Lo más importante const & rvalue refs
- 8. Cómo eliminar remoto origen/refs/heads/master
- 9. JAX-RS Encoding
- 10. JAX-RS Frameworks
- 11. ¿Concurrencia no es paralelismo?
- 12. constructores C++ y concurrencia
- 13. Concurrencia y multiprocesamiento
- 14. Concurrencia, visibilidad del objeto
- 15. Múltiple tenedor() Concurrencia
- 16. concurrencia de Ajax
- 17. Posibles mejoras en el ejemplo de concurrencia "oficial" de clojure (usando bloqueos, átomos, stm)
- 18. Comunicación Java RS-232 en Windows
- 19. NPE Throwwn Marshalling Entity en JAX-RS
- 20. Obtenga ServletContext en el recurso JAX-RS
- 21. JAX-RS y gastos de
- 22. ¿Deberían leerse múltiples refs de Clojure en una transacción por consistencia?
- 23. concurrencia optimista en ADO.NET Entity Framework
- 24. ¿Cómo se maneja la concurrencia en NHibernate?
- 25. Cómo modelar concurrencia en pruebas unitarias?
- 26. comportamiento extraño con la concurrencia en Haskell
- 27. Control de concurrencia en Django modelo
- 28. ¿Es posible la concurrencia en tornado?
- 29. Problemas de concurrencia con Random en .Net?
- 30. JAX-RS y autorización personalizada
Hehe, está * explícitamente * en la lista en esta página de inicio sobre el CCR: http://msdn.microsoft.com/en-us/library/dd504870.aspx Probablemente es demasiado viejo para haber recogido el C + + 0x mejoras. Código como este guisa por un tiempo. –
@Hans: Eso es referencias de valor como un genérico "lo apoyamos en MSVC10", no hay nada sobre eso en el CCR específicamente. – Puppy
Pensé que era gracioso que apareciera en la página de inicio de CCR. –