Cet article analyse en détail l'utilisation et l'utilisation simultanée en Java. Partagez-le pour tout le monde pour votre référence. L'analyse spécifique est la suivante:
1. Le récipient synchrone comprend deux parties: vecteur et hachage
L'autre est une classe d'emballage synchrone, qui a été créée par les collections. Le conteneur synchrone interviewe tous les états du conteneur pour obtenir la sécurité des filetages.
Ils ont les problèmes suivants:
a) Pour le fonctionnement, une protection supplémentaire de verrouillage est requise. Par exemple, des conditions itératives et manquantes telles que l'ajout.
b) ToString, HashCode, égal à un appel indirectement itératif, et vous devez faire attention à la concurrence.
2. conteneur simultané dans Java5.0.
ConcurrentHashMap peut remplacer l'implémentation de la carte synchrone.
Lorsqu'il est principalement lu, CopyOnWriteArrayList est une implémentation synchrone de la liste.
Dans le même temps, la file d'attente et BlockingQueue: ConcurentLinkEdQueue: FIFO Queue.
PriorityQueue: Fitre de priorité non-Merger.
BlockingQueue a augmenté le blocage et l'acquisition du blocage.
a) ConcurenthashMap: Ce n'est pas une serrure publique, mais une serrure séparée. Un certain nombre de threads de lecture sont accessibles simultanément, les lecteurs et les écrivains peuvent également accéder simultanément à la carte et le nombre limité d'écriture peut également modifier la carte simultanément. Cependant, la taille et le langage iSempty sont affaiblies, ce qui est estimé.
b) CopyOnwriteArrayList: L'Itérateur conserve une référence de tableau de base inférieur et la référence ne sera pas modifiée.
3. Synchronizer
a) Countdownlatch. Le paramètre du constructeur est n, après le compte à rebours, n est 0, et tous les threads attend continuent de s'exécuter.
b) FutureTask: calculer Runnable, qui peut être implémenté par appelable et peut transporter le résultat. Y compris: attendez, courez et terminez.
c) Semaphore: le nombre d'activités accessibles en même temps
d) Cyclicbarrier: similaire à l'atrésie. Le verrou attend l'incident et le niveau attend d'autres fils. Les threads R, R, R, N sont Await ().
On espère que cet article est utile à la conception du programme Java de tous.