Voglio studiare un buon codice Java multi-thread. Qualcuno potrebbe suggerire qualche esempio? Il server web Apache è una buona scelta?Esempi di buon codice Java con multithreading?
Grazie, Abhinav.
Voglio studiare un buon codice Java multi-thread. Qualcuno potrebbe suggerire qualche esempio? Il server web Apache è una buona scelta?Esempi di buon codice Java con multithreading?
Grazie, Abhinav.
Ti consiglio di dare un'occhiata a questo book. Riguarda quasi tutto ciò che riguarda la concorrenza e il multithreading di java e , compresi i principi di codifica e molti esempi.
Grazie per il suggerimento, attualmente sto studiando da "The Art of Multiprocessor Programming". Tuttavia, mi piacerebbe studiare alcuni codici del mondo reale oltre agli esempi nei libri. – abhinav
Che tipo di applicazione stai cercando? Server di rete multithreaded, calcoli paralleli, interazioni GUI, ecc.? –
Ho letto alcune sezioni di Java Concurrency in Practice, è un libro molto carino da avere. Stavo cercando un codice del mondo reale che è stato costruito per gestire un numero elevato di thread, mantenere la sicurezza e ottenere buoni risultati. Quindi, forse server di rete multithreaded? – abhinav
Nella concurrency tutorial a trovare gli aspetti come
discusso. Se wan't a come questo viene utilizzato in un'applicazione reale hanno un'occhiata a Jackrabbit
Grazie, ho appena controllato la fonte. – abhinav
migliori tutorial su concurreny in Java mai
Il collegamento non funziona. Puoi aggiornare? –
@John Risolto. Anche se non sono sicuro di quanto sia importante questo link è più. – helpermethod
Grazie. Qualcosa di nuovo che suggeriresti allora? –
lo consiglio caldamente di leggere - almeno due volte - (Sono sulla mia quarta lettura ora) il superbo The secrets of Concurrency che Dr. Heinz M. Kabutz ha generosamente reso pubblico sul suo sito web.
Tra gli argomenti:
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
Tutti sono sia divertente ed estremamente ben informato.
Dove, se non nella Overstocked Haberdashery troverete il codice come:
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();
}
}
}
dove egli usa non solo un CountDownLatch
e un AtomicInteger
esynchronized(this)
e gestisce un InterruptedException
apropriately, ha anche usi a double brace initialiser
per iniziare la discussione !! Ora se questo non è epico java che cos'è?
Concurrent Doubly Linked List di Doug Lea è un eccellente esempio di codifica Lock Free
.
Apache è scritto in C – stacker
Grazie, non lo sapevo :) – abhinav