Révision: Livre de recettes Java 7 Concurrency

Critique: Livre de recettes Java 7 Concurrency

+

LesJava 7 Concurrency Cookbook, contenant plus de 60 exemples, vous montrent comment faire de la programmation multithread en Java. It shows varies threading topics from beginner level to advanced level, including thread management like create, interrupt and monitor thread, using Java 5 Executor frameworks to run or schedule threads, and the latest Java 7 fork/Join Frameworks to distribute threads.

Mon préféré est le chapitre 3, qui montre 5 exemples de mécanismes ou modèles concurrents courants - «Semaphores», «CountDownLatch», «CyclicBarrier», «Phaser» et «Exchanger “, et comment ces mécanismes résolvent le problème de threading existant. De plus, à la fin du chapitre, cela me surprend en montrant comment tester le code concurrent Java dans Eclipse et NetBean.

Consultez la section suivante pour savoir ce que vous apprendrez de ce livre.

Chapitre 1: Gestion des threads

Bonjour chapitre du monde avec de nombreux exemples utiles pour vous montrer les bases de la gestion des threads.

Les compétences sont acquises:

  1. Comment créer, interrompre, mettre en veille et reprendre un fil.

  2. Comment programmer un thread Daemon.

  3. Comment traiter les exceptions de thread.

  4. Comment regrouper des fils dans un groupe.

Chapitre 2: Synchronisation de base des threads

Synchronisation des threads pour contrôler la façon dont les multiples threads lisent et écrivent les mêmes données, fichiers ou base de données (ressources partagées),

Les compétences sont acquises:

  1. Comment utiliser le mot-clésynchronized, pour synchroniser une méthode.

  2. Comment utiliser l'interfaceLock et ses implémentations, pour synchroniser un bloc de code.

  3. Comment faire des conditions simples / multiples dans un code synchronisé, en utilisantwait(),notify() etnotifyAll().

Chapitre 3: Utilitaires de synchronisation des threads

Exemples pour vous montrer les cinq mécanismes ou modèles simultanés courants pour synchroniser plusieurs threads et le problème qu'il résout.

Les compétences sont acquises:

  1. Semaphores - Un compteur qui contrôle l'accès à une ou plusieurs ressources partagées.

  2. CountDownLatch - Permet à un thread d'attendre la finalisation de plusieurs opérations.

  3. CyclicBarrier - Permet la synchronisation de plusieurs threads en un point commun.

  4. Phaser - Contrôle l'exécution des tâches simultanées divisées en phases.

  5. Exchanger - Fournit un point d'échange de données entre deux threads.

Chapitre 4: Thread Executors

Comment travailler avec les frameworks Java 5, Executor -Executor,ThreadPoolExecutor, etc. Il ressemble à un planificateur pour exécuter un ou plusieurs threads à l'heure ou à l'intervalle spécifié.

Les compétences sont acquises:

  1. Comment créer un exécuteur de thread

  2. Comment exécuter une tâche après un délai.

  3. Comment exécuter une tâche périodiquement.

  4. Comment contrôler la fin ou l'annulation des tâches.

Chapitre 5: Framework Fork / Join

Les compétences sont acquises:

  1. Qu'est-ce que Java 7 Fork / Join Framework et un exemple simple de Hello World.

  2. Comment joindre les résultats des tâches divisées.

  3. Comment annuler une tâche.

Chapitre 6: Collections simultanées

Présentez les collections Java utilisées dans la programmation simultanée.

Les compétences sont acquises:

  1. Qu'est-ce que les collections bloquantes et non bloquantes?

  2. Exemples d'utilisation de liste thread-safe bloquante et non bloquante.

  3. Exemple deConcurrentNavigableMap.

  4. Comment générer des nombres aléatoires simultanés avecThreadLocalRandom.

  5. Comment utiliser des variables atomiques - par exempleAtomicLong et des tableaux atomiques - par exempleAtomicIntegerArray.

Chapitre 7: Personnalisation des classes d'accès concurrentiel

Ce chapitre vous montre comment personnaliser les classes d'accès concurrentiel existantes en fonction de vos besoins. Souvent, vous n’avez pas besoin de cela, mais bon à savoir.

Les compétences sont acquises:

  1. Implémentation d'une classeExecutor basée sur la priorité

  2. Comment utiliserThreadFactory.

  3. Personnalisation des tâches exécutées dans un pool de threads planifié et dans le framework Fork / Join.

  4. Comment implémenter une classeLock personnalisée.

  5. Comment implémenter votre propre objet atomique.

Chapitre 8: Test des applications simultanées

Ce chapitre vous montre comment tester dans votre programme simultané.

Les compétences sont acquises:

  1. Comment surveiller le frameworkLock,Phaser,Executor et le pool Fork / Join.

  2. Comment configurer Eclipse et NetBeans pour le débogage du code d'accès concurrentiel.

  3. Comment analyser le code simultané avecFindBugs

Conclusion

Ce livre contient de nombreux exemples faciles à suivre et bien expliqués à la fin de chaque exemple, à l'exception du chapitre 6 et du chapitre 7, qui ont nécessité quelques années d'expérience en filetage pour être compris. Pour les débutants qui souhaitent apprendre le threading en Java, ce "http://www.amazon.com/gp/product/1849687889/ref=as_li_tf_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1849687889&linkCode=as2&tag=Jprogrlife-20 Concurrency Cookbook] »est le meilleur livre à étudier. Pour les développeurs expérimentés, vous pouvez également traiter cela comme une référence complète de «Java Concurrency».

Et si comparer avec lesJava Concurrency in Practice classiques? I think both books are targeted for different developer level. IMHO, the classic “Java Concurrency in Practice” is for advanced level, its snippet code is followed by a few pages of explanations is great, but not suitable for anyone. And this Java 7 Concurrency Cookbook is for beginner and immediate level, the example is easy to understand and ready to modify for your project use.

Note
Ce livre de recettes Java 7 Concurrency peut acheter en ligne viaamazon.com oupacktpub.com.