Entiendo qué es Livelock, pero me preguntaba si alguien tenía un buen ejemplo basado en código. Y por código, no me refiero a "dos personas que intentan cruzarse en un corredor". Si leo eso otra vez, perderé mi almuerzo.
Entiendo qué es Livelock, pero me preguntaba si alguien tenía un buen ejemplo basado en código. Y por código, no me refiero a "dos personas que intentan cruzarse en un corredor". Si leo eso otra vez, perderé mi almuerzo.
Hay un caso en el que se construirá un mapa, y una vez que se inicialice, nunca más se modificará. Sin embargo, se accederá (solo mediante get (clave)) desde varios subprocesos. ¿Es seguro usar un java.util.HashMapde esta manera? (Actualmente, estoy felizmente usando a
Parece que hay muchas implementaciones diferentes y formas de generar conjuntos seguros para subprocesos en Java. Algunos ejemplos incluyen 1) CopyOnWriteArraySet 2) Collections.synchronizedSet (conjunto de conjuntos) 3) ConcurrentSkipListSet 4) Collections.newSetFromMap (nuevo...
¿Hay alguna diferencia entre una volatilereferencia de objeto y AtomicReferenceen caso de que solo use get()y set()-methods from
La ordenación toma O (n log n) en el caso en serie. Si tenemos procesadores O (n), esperamos una aceleración lineal. Existen algoritmos paralelos O (log n) pero tienen una constante muy alta. Tampoco son aplicables en hardware básico que no tiene cerca de procesadores O (n). Con los procesadores p,...
De los JavaDocs: Un ConcurrentLinkedQueue es una opción apropiada cuando muchos hilos compartirán el acceso a una colección común. Esta cola no permite elementos nulos. ArrayBlockingQueue es un clásico "búfer acotado", en el que una matriz de tamaño fijo contiene elementos insertados por...
No pude encontrar suficiente información sobre los ConcurrentDictionarytipos, así que pensé en preguntar aquí. Actualmente, utilizo a Dictionarypara mantener a todos los usuarios a los que acceden constantemente múltiples subprocesos (desde un grupo de subprocesos, por lo que no hay una cantidad...
Si hay dos subprocesos que acceden a una variable global, muchos tutoriales dicen que la variable sea volátil para evitar que el compilador guarde en caché la variable en un registro y, por lo tanto, no se actualice correctamente. Sin embargo, dos hilos que acceden a una variable compartida es algo...
¿A qué se refiere un monitor en la programación concurrente en Java? Cuando leo que "cada objeto ha asociado un monitor", ¿qué significa? ¿Es un objeto
Parece imposible hacer un grupo de subprocesos en caché con un límite en el número de subprocesos que puede crear. Así es como se implementa Executors.newCachedThreadPool estático en la biblioteca estándar de Java: public static ExecutorService newCachedThreadPool() { return new...
Últimamente he estado mirando goroutines de Go y pensé que sería bueno tener algo similar en Java. Por lo que he buscado, la forma común de paralelizar una llamada a un método es hacer algo como: final String x = "somethingelse"; new Thread(new Runnable() { public void run() {...
¿Qué se entiende por utilizar una barrera de memoria
Estoy luchando por comprender completamente las colas simultáneas y en serie en GCD. Tengo algunos problemas y espero que alguien pueda responderme claramente y en el punto. Estoy leyendo que las colas en serie se crean y utilizan para ejecutar tareas una tras otra. Sin embargo, ¿qué sucede...
En comparación con el código anterior para la clase RulyCanceler , quería ejecutar código usando CancellationTokenSource. ¿Cómo lo uso como se menciona en los tokens de cancelación , es decir, sin lanzar / capturar una excepción? ¿Puedo usar la IsCancellationRequestedpropiedad? Intenté usarlo...
¿Cuál es la diferencia entre los métodos lazySety setde AtomicInteger? La documentación no tiene mucho que decir sobre lazySet: Eventualmente se establece en el valor dado. Parece que el valor almacenado no se establecerá inmediatamente en el valor deseado, sino que se programará para...
¿Alguien puede proporcionar una explicación directa (pero no más simple de lo posible) de una transacción aplicada a la informática (incluso si se copia de Wikipedia)?
Mi pregunta se relaciona con esta pregunta formulada anteriormente. En situaciones en las que estoy usando una cola para la comunicación entre los hilos del productor y del consumidor, ¿la gente generalmente recomendaría usar LinkedBlockingQueueo ConcurrentLinkedQueue? ¿Cuáles son las ventajas /...
Es difícil saber qué se pregunta aquí. Esta pregunta es ambigua, vaga, incompleta, demasiado amplia o retórica y no puede responderse razonablemente en su forma actual. Para obtener ayuda para aclarar esta pregunta y poder volver a abrirla, visite el Centro de ayuda .
Después de leer The JSR-133 Cookbook for Compiler Writers sobre la implementación de volátiles, especialmente la sección "Interacciones con instrucciones atómicas", asumo que leer una variable volátil sin actualizarla necesita una barrera LoadLoad o LoadStore. Más abajo en la página, veo que...
Me topé con node.js hace algún tiempo y me gustó mucho. Pero pronto descubrí que carecía de la capacidad para realizar tareas intensivas en la CPU. Entonces, comencé a buscar en Google y obtuve estas respuestas para resolver el problema: Fibras, Webworkers e Threads (thread-a-gogo). Ahora, cuál...