Quiero estudiar un buen código Java multihilo. ¿Alguien podría sugerir algunos ejemplos? ¿El servidor web Apache es una buena elección?¿Ejemplos de buen código Java multiproceso?
Gracias, Abhinav.
Quiero estudiar un buen código Java multihilo. ¿Alguien podría sugerir algunos ejemplos? ¿El servidor web Apache es una buena elección?¿Ejemplos de buen código Java multiproceso?
Gracias, Abhinav.
Yo recomendaría que eche un vistazo a este book. Cubre casi todo sobre java y concurrencia/multihilo, incluidos los principios de codificación y muchos ejemplos.
Gracias por la sugerencia, actualmente estoy estudiando en "The Art of Multiprocessor Programming". Sin embargo, me gustaría estudiar algunos códigos del mundo real además de ejemplos en libros. – abhinav
¿Qué tipo de aplicación estás buscando? ¿Servidores de red multiproceso, cálculos paralelos, interacciones GUI, etc.? –
Leí algunas secciones de Java Concurrency in Practice, es un libro muy bueno para tener. Estaba buscando un código de mundo real que se haya diseñado para manejar una gran cantidad de hilos, mantener la seguridad y tener un buen rendimiento. Entonces, ¿quizás servidores de red multiproceso? – abhinav
En el concurrency tutorial a encontrar los aspectos como
discutido. Si quieres probar a cómo esto se utiliza en una aplicación real tienen vistazo a Jackrabbit
Gracias, acabo de ver la fuente. – abhinav
Mejor tutorial sobre concurreny en Java siempre
El enlace no funciona. ¿Puedes actualizar? –
@John Fixed. Aunque no estoy seguro de cuán relevante ya no es este enlace. – helpermethod
Gracias. ¿Alguna novedad que sugieras? –
no te recomiendo que leas - al menos dos veces - (Estoy en mi cuarta lectura ahora) el excelente The secrets of Concurrency que Dr. Heinz M. Kabutz ha hecho público de forma generosa en su sitio web.
temas incluyen:
The Law of the Sabotaged Doorbell
The Law of the Distracted Spearfisherman
The Law of the Overstocked Haberdashery
The Law of the Blind Spot
The Law of the Leaked Memo
The Law of the Corrupt Politician
The Law of the Micromanager
The Law of Cretan Driving
The Law of Sudden Riches
The Law of the Uneaten Lutefisk
The Law of the Xerox Copier
Todos son a la vez entretenido y muy informativo.
Dónde, si no en el Overstocked Haberdashery va a encontrar un código como:
public class ThreadCreationTest {
public static void main(String[] args) throws InterruptedException {
final AtomicInteger threads_created = new AtomicInteger(0);
while (true) {
final CountDownLatch latch = new CountDownLatch(1);
new Thread() {
{ start(); }
public void run() {
latch.countDown();
synchronized (this) {
System.out.println("threads created: " +
threads_created.incrementAndGet());
try {
wait();
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
}
};
latch.await();
}
}
}
en la que no sólo se utiliza una CountDownLatch
y un AtomicInteger
ysynchronized(this)
y maneja un InterruptedException
apropriately, incluso usos un double brace initialiser
para comenzar el hilo !! Ahora si eso no es épico java ¿qué es?
Doug Lea Concurrent Doubly Linked List es un excelente ejemplo de codificación Lock Free
.
Apache está escrito en C – stacker
Gracias, no sabía que :) – abhinav