2010-01-29 11 views

ответ

15

Я бы порекомендовал вам взглянуть на это book. Он охватывает почти все о Java и параллелизма/многопоточности, включая принципы кодирования и многие примеры.

+0

Спасибо за предложение, я в настоящее время изучаю «Искусство многопроцессорного программирования». Тем не менее, я хотел бы изучить некоторый код реального мира, кроме примеров в книгах. – abhinav

+0

Какое приложение вы ищете? Многопоточные сетевые серверы, параллельные вычисления, взаимодействие с графическим интерфейсом и т. Д.? –

+0

Я прочитал некоторые разделы из Java Concurrency in Practice, его очень хорошая книга. Я искал какой-то код реального мира, который был построен для обработки большого количества потоков, обеспечения безопасности и хорошего функционирования. Итак, возможно, многопоточные сетевые серверы? – abhinav

0

В concurrency tutorial вы нашли аспекты, как

  • синхронизации
  • тупики
  • , а также основные концепции

обсуждалось. Если вы wan't к тому, как это используется в настоящей заявке имеют вид на Jackrabbit

+0

Спасибо, только что проверил источник. – abhinav

1

Лучший учебник о concurreny в Java когда-либо

The Java Memory Model

+0

Ссылка не работает. Можете ли вы обновить? – 2014-03-25 22:41:16

+0

@John Исправлено. Хотя я не уверен, насколько актуальна эта ссылка. – helpermethod

+0

Спасибо. Что-нибудь новое, что вы предложили бы тогда? – 2014-03-26 16:38:17

8

Я настоятельно рекомендую вам прочитать - по крайней мере в два раза - (Сейчас я на своем 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 что это?

Смежные вопросы