Articles of concurrencia de

Es un bool leer / escribir atómico en C #

¿Está accediendo a un campo bool atómico en C #? En particular, ¿necesito cerrarlo? class Foo { private bool _bar; //… in some function on any thread (or many threads) _bar = true; //… same for a read if (_bar) { … } }

¿Cómo garantizar que una marca de tiempo sea siempre única?

Estoy usando marcas de tiempo para ordenar temporalmente cambios simultáneos en mi progtwig, y ​​requiero que cada marca de tiempo de un cambio sea única. Sin embargo, descubrí que simplemente llamar a DateTime.Now es insuficiente, ya que a menudo devolverá el mismo valor si se llama en sucesión rápida. Tengo algunas ideas, pero nada me […]

¿Qué es un “objeto incompletamente construido”?

Goetz’s Java Concurrency in Practice , página 41, menciona cómo this referencia puede escapar durante la construcción. Un ejemplo de “no hagas esto”: public class ThisEscape { public ThisEscape(EventSource source) { source.registerListener( new EventListener() { public void onEvent(Event e) { doSomething(e); } }); } } Aquí this está “escapando” por el hecho de que doSomething(e) […]

¿Es volátil caro?

Después de leer The JSR-133 Cookbook for Compiler Writers sobre la implementación de volátiles, especialmente la sección “Interacciones con las instrucciones atómicas”, supongo que al leer una variable volátil sin actualizarla se necesita una barrera LoadLoad o LoadStore. Más abajo, en la página, veo que LoadLoad y LoadStore no funcionan en las CPU X86. ¿Significa […]

Forma más eficiente para pausar el bucle deseado

¿Es posible reescribir este código para un mejor funcionamiento con el procesador? Tengo una clase, que realiza algunas tareas con periodicy fija en un hilo separado. En ocasiones, este proceso puede pausarse y reanudarse. Actualmente estoy usando una bandera para pausar, funciona bien, pero el bucle de esta manera todavía carga el procesador cuando el […]

Bash: ¿limita el número de trabajos simultáneos?

¿Existe alguna manera fácil de limitar el número de trabajos concurrentes en bash? Con eso me refiero a hacer el & bloque cuando hay más de n trabajos concurrentes ejecutándose en segundo plano. Sé que puedo implementar esto con ps | trucos estilo grep, pero ¿hay una manera más fácil?

¿El hardware moderno x86 no puede almacenar un solo byte en la memoria?

Hablando del modelo de memoria de C ++ para concurrencia, Stroustrup’s C ++ Programming Language, 4th ed., Secc. 41.2.1, dice: … (como la mayoría del hardware moderno) la máquina no podía cargar ni almacenar nada más pequeño que una palabra. Sin embargo, mi procesador x86, hace unos años, puede almacenar y almacena objetos más pequeños […]

Servlet parece manejar múltiples solicitudes concurrentes de navegador sincrónicamente

Por lo que sé, Java Servlets está manejando múltiples solicitudes al mismo tiempo y he buscado a través de StackOverflow y de Google, y confirmé lo que pensaba. Sin embargo, estoy bastante confundido en este momento, escribí un servlets simple que parece mostrar un comportamiento de locking. entonces tengo un Servlet simple: public class MyServlet […]

La GUI de Java swing se congela

Estoy escribiendo una aplicación de GUI cliente / servidor Java utilizando sockets y aquí está el problema: Tengo un botón para comenzar a escuchar un puerto específico: botón acción Método informado private void listenButtonActionPerformed(java.awt.event.ActionEvent evt) { int port = Integer.parseInt(portTextfield.getText(), 10); try { socket.listen(port); } catch (IOException ex) { } } Aquí está el método […]

¿Hay alguna manera de que múltiples procesos compartan un socket de escucha?

En la progtwigción de socket, crea un socket de escucha y luego para cada cliente que se conecta, obtiene un socket de flujo normal que puede usar para manejar la solicitud del cliente. El sistema operativo gestiona la cola de conexiones entrantes detrás de escena. Dos procesos no pueden vincularse al mismo puerto al mismo […]