Я хочу изучить хороший многопоточный Java-код. Может ли кто-нибудь предложить несколько примеров? Является ли веб-сервер Apache хорошим выбором?Примеры хорошего многопоточного Java-кода?
Thanks, Abhinav.
Я хочу изучить хороший многопоточный Java-код. Может ли кто-нибудь предложить несколько примеров? Является ли веб-сервер Apache хорошим выбором?Примеры хорошего многопоточного Java-кода?
Thanks, Abhinav.
Я бы порекомендовал вам взглянуть на это book. Он охватывает почти все о Java и параллелизма/многопоточности, включая принципы кодирования и многие примеры.
Спасибо за предложение, я в настоящее время изучаю «Искусство многопроцессорного программирования». Тем не менее, я хотел бы изучить некоторый код реального мира, кроме примеров в книгах. – abhinav
Какое приложение вы ищете? Многопоточные сетевые серверы, параллельные вычисления, взаимодействие с графическим интерфейсом и т. Д.? –
Я прочитал некоторые разделы из Java Concurrency in Practice, его очень хорошая книга. Я искал какой-то код реального мира, который был построен для обработки большого количества потоков, обеспечения безопасности и хорошего функционирования. Итак, возможно, многопоточные сетевые серверы? – abhinav
В concurrency tutorial вы нашли аспекты, как
обсуждалось. Если вы wan't к тому, как это используется в настоящей заявке имеют вид на Jackrabbit
Спасибо, только что проверил источник. – abhinav
Лучший учебник о concurreny в Java когда-либо
Ссылка не работает. Можете ли вы обновить? – 2014-03-25 22:41:16
@John Исправлено. Хотя я не уверен, насколько актуальна эта ссылка. – helpermethod
Спасибо. Что-нибудь новое, что вы предложили бы тогда? – 2014-03-26 16:38:17
Я настоятельно рекомендую вам прочитать - по крайней мере в два раза - (Сейчас я на своем 4-м чтении) превосходно The secrets of Concurrency, что Dr. Heinz M. Kabutz щедро обнародовал его сайт.
Темы включают:
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
Все является развлекательным и чрезвычайно информативен.
Где еще, но в Overstocked Haberdashery вы найдете код, как:
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();
}
}
}
, где он не только использует CountDownLatch
иAtomicInteger
иsynchronized(this)
и обрабатывает InterruptedException
apropriately, он даже использует a double brace initialiser
, чтобы начать тему !! Теперь, если это не epic java что это?
Doug Lea's Concurrent Doubly Linked List является отличным примером кодирования Lock Free
.
Apache написан на C – stacker
Спасибо, я не знал этого :) – abhinav