Programmation concurrente en Java by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer,

By Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea

Show description

Read or Download Programmation concurrente en Java PDF

Best programming: programming languages books

PHP Handbuch

Personal home page ist die Abkürzung für "PHP: Hypertext Preprocessor", eine Skriptsprache, die sich in HTML einbinden lässt. Viele der syntaktischen Möglichkeiten sind den Programmiersprachen C. Java und Perl entnommen und es wurden auch einige PHP-spezifische positive factors entwickelt. Das Ziel der Sprache ist es. das Schreiben von Programmen zur Erzeugung von dynamisch generierten Seiten zu erleichtem und zu beschleunigen.

Pascal's Fire: Scientific Faith and Religious Understanding

Combining slicing edge-science with thought-provoking discourses approximately morality, faith and the that means of lifestyles, Keith Ward presents a desirable tackle the technological know-how as opposed to faith debate, providing 'a 3rd manner' that is sure to spark debate for years yet to come.

Extra resources for Programmation concurrente en Java

Example text

Même si vous pouviez garantir qu’une servlet ne sera appelée que par un seul thread à la fois, vous devriez quand même vous préoccuper de la thread safety lorsque vous construisez une application web. En effet, les servlets accèdent souvent à des informations partagées par d’autres servlets, par exemple les objets globaux de l’application (ceux qui sont stockés dans le ServletContext) ou les objets de la session (ceux qui sont stockés dans le HttpSession de chaque client). Une servlet accédant à des objets partagés par d’autres servlets ou par les requêtes doit donc coordonner correctement l’accès à ces objets puisque plusieurs requêtes peuvent y accéder simultanément, à partir de threads distincts.

ThreadSafe public class Sequence { @GuardedBy("this") private int Value; public synchronized int getNext() { return nextValue++; } } En l’absence de synchronisation, le compilateur, le matériel et l’exécution peuvent prendre quelques libertés concernant le timing et l’ordonnancement des actions, comme mettre les variables en cache dans des registres ou des caches locaux du processeur où elles seront temporairement (voire définitivement) invisibles aux autres threads. Bien que ces astuces permettent d’obtenir de meilleures performances et soient généralement souhaitables, elles obligent le développeur à savoir précisément où se trouvent les données qui sont partagées entre les threads, afin que ces optimisations ne détériorent pas le comportement (le Chapitre 16 présentera les détails croustillants sur l’ordonnancement garanti par la JVM et sur la façon dont la synchronisation influe sur ces garanties mais, si vous suivez les règles des Chapitres 2 et 3, vous pouvez vous passer de ces détails de bas niveau).

Lorsque le thread A tente de fermer un verrou qui a été verrouillé par le thread B, A doit attendre, ou se bloquer, jusqu’à ce que B le relâche. Si B ne relâche jamais le verrou, A est bloqué à jamais. Un bloc de code protégé par un verrou donné ne pouvant être exécuté que par un seul thread à la fois, les blocs synchronized protégés par ce verrou s’exécutent donc de façon atomique les uns par rapport aux autres. Dans le contexte de la concurrence, atomique signifie la même chose que dans les transactions – un groupe d’instructions semble s’exécuter comme une unité simple et indivisible.

Download PDF sample

Rated 4.37 of 5 – based on 6 votes