Articles of thread safety

¿Cómo hacer que ObservableCollection sea seguro para subprocesos?

System.InvalidOperationException: Collection was modified; enumeration operation may not execute. Estoy agregando / eliminando de un ObservableCollection que no está en un subproceso de interfaz de usuario. Tengo un método que nombra EnqueueReport para agregar a la colección y un DequeueReport para eliminar de la recostackción. El flujo de pasos es el siguiente: 1.call EnqueueReport siempre […]

Sincronización de Java

Que es esto: synchronized (this) { // …some code… } ¿bueno para? (¿Podría escribir un ejemplo?)

Entity Framework Thread Safety

Los objetos de contexto generados por Entity Framework no son seguros para subprocesos. ¿Qué SaveChanges() si utilizo dos contextos de entidad separados, uno para cada hilo (y llamo SaveChanges() en cada uno)? ¿Esto estará seguro para subprocesos? // this method is called from several threads concurrently public void IncrementProperty() { var context = new MyEntities(); […]

Prueba de seguridad de inicialización de campos finales

Estoy intentando simplemente probar la seguridad de inicialización de los campos finales según lo garantiza el JLS. Es para un papel que estoy escribiendo. Sin embargo, no puedo hacer que ‘falle’ según mi código actual. ¿Puede alguien decirme lo que estoy haciendo mal, o si esto es solo algo que tengo que ejecutar una y […]

¿El subproceso shared_ptr es seguro?

Tengo una pregunta sobre boost::shared_ptr . Hay muchos hilos using namespace boost; class CResource { // xxxxxx } class CResourceBase { public: void SetResource(shared_ptr res) { m_Res = res; } shared_ptr GetResource() { return m_Res; } private: shared_ptr m_Res; } CResourceBase base; //———————————————- // Thread_A: while (true) { //… shared_ptr nowResource = base.GetResource(); nowResource.doSomeThing(); //… […]

Propiedad Thread-safe List

Quiero una implementación de List como una propiedad que se puede utilizar de forma segura sin ninguna duda. Algo como esto: private List _list; private List MyT { get { // return a copy of _list; } set { _list = value; } } Parece que todavía necesito devolver una copia (clonada) de la colección, […]

Prueba de unidad para seguridad de hilo?

He escrito una clase y muchas pruebas de unidad, pero no lo hice seguro. Ahora, quiero que el hilo de la clase sea seguro, pero para probarlo y usar TDD, quiero escribir algunas pruebas de unidad que fallan antes de comenzar a refactorizar. ¿Alguna buena forma de hacer esto? Mi primer pensamiento es simplemente crear […]

Seguridad de subprocesos de std :: map para operaciones de solo lectura

Tengo un std :: map que uso para mapear valores (identificaciones de campo) a una cadena legible por humanos. Este mapa se inicializa una vez cuando mi progtwig se inicia antes de que se inicien otros hilos, y luego de eso nunca se modifica nuevamente. En este momento, doy a cada hilo su propia copia […]

javafx, actualiza ui desde otro hilo

Tengo una aplicación javafx y un hilo de trabajo, implementado a través de javafx.concurrent.Task , que realiza un proceso largo, que es comprimir y cargar un conjunto de archivos. He conectado el progreso de la tarea a una barra de progressProperty través de progressProperty . Además de esto, quiero un estado detallado sobre el artículo […]

¿El subproceso RestTemplate es seguro?

¿Un Spring RestTemplate es seguro para subprocesos? Es decir Es un RestTemplate un objeto de estrategia que las conexiones múltiples pueden compartir de forma segura. o Es un RestTemplate un objeto de conexión (como una conexión de base de datos), que no se puede compartir mientras está en uso, y requiere una RestTemplate creación o […]