Publier: Un objet consiste à permettre de référencer le code en dehors de la portée actuelle:
Formes communes: stocker des références aux objets aux domaines statiques publics; Retour des références dans les méthodes non privées; Publication des instances de classe interne, y compris les références.
Escape: Publiez l'objet quand il n'est pas prêt.
Ne laissez pas cette référence s'échapper du constructeur. Par exemple, démarrez un thread dans le constructeur et le thread contiendra des références à l'objet.
Conteneur synchronisé: effectue un accès au voyage à tous les états du conteneur, du vecteur, du hashtable, des cllelections.SynchronizedMap |
Conteneurs simultanés: concurrenthashmap, copyonwritearraylist, concurrentLinkedQueue, BlockingQueue
Énumérez les avantages de la fonction d'accès aléatoire.
Le blocage ajoute une opération de réglage obstacle à un obstacle bloquable
ConcurrentHashMap: Locks séparés, apportant un débit élevé pour un accès simultané, tout en perdant presque aucune performance d'accès d'un seul fil. Renvoie un itérateur faiblement cohérent.
La faible cohérence de l'itérateur détectera les changements dans le conteneur après la génération de l'itérateur.
La taille du conteneur simultanée (), iSempty () est affaibli et renvoie un résultat approximatif.
CopyOnwriteArrayList: Copiez chaque fois que le conteneur est modifié et l'exigence itérative est supérieure à l'exigence de modification.
Modèle producteur-consommateur, utilisant des files d'attente de blocage limités pour découpler les producteurs et le code des consommateurs.
Le cadre d'exécution de la tâche exécutrice implémente le modèle producteur et consommateur.
SynchronousQueue: mettez les attentes pour que le consommateur soit disponible, attendez que le producteur soit disponible, adapté aux scénarios où le consommateur est suffisant.
Une file d'attente à double extrémité est associée au mode de vol de travail. Il est différent du fait que tous les consommateurs partagent une file d'attente de travail en mode producteur-consommateur. Chaque consommateur du mode de vol de travail a sa propre file d'attente à double extrémité. Si un consommateur termine tout son travail, il peut voler des tâches à la fin d'autres files d'attente de consommateurs.
Le mode de vol de travail convient lors de l'exécution d'une unité d'une tâche, plus de tâches peuvent être identifiées, telles que la traversée de fichiers.
Lorsqu'une méthode peut lancer une interruption, cela signifie qu'il s'agit d'une méthode bloquable. Lancer ou attraper l'interruption de l'exception.
Synchronizer: Synchronizer --- Semaphore, barrière, verrou, encapsule l'état, détermine le comportement du fil dans cet état (passer ou blocs), fournit une méthode pour manipuler l'état et attend efficacement que le synchroniseur entre à l'état souhaité.
Verrouillage de verrouillage: retarde la progression du thread jusqu'à ce que le fil atteint un état final, comme un interrupteur unique. Peut être utilisé pour s'assurer qu'une activité spécifique ne se produit pas tant que d'autres activités sont terminées.
Par exemple:
FutureTask peut être utilisé comme calcul de résultat portable de verrouillage et abstrait et est implémenté par appelable. Future.get dépend de l'état d'exécution de la tâche. Si la tâche est terminée, le résultat sera retourné. Sinon, il attendra.
Le cadre de l'exécuteur utilise FutureTask pour effectuer des tâches asynchrones.
Semapher Semapher: Utilisé pour contrôler le nombre d'activités qui peuvent accéder simultanément à une ressource spécifique ou effectuer une opération donnée en même temps, pool de ressources, limite des conteneurs.
Niveau de barrière: similaire au verrouillage, tous les threads doivent atteindre le niveau en même temps avant de pouvoir continuer à traiter. Le verrouillage attend du temps, et le niveau attend d'autres fils et est réutilisé. Grâce au niveau, Await renverra un numéro d'index d'arrivée unique pour chaque thread, qui peut être utilisé pour élire un leader et entreprendre des tâches spéciales dans la prochaine itération.
L'échangeur est une forme de niveau.
Ce qui précède est tout le contenu de cet article. J'espère que le contenu de cet article sera d'une aide à l'étude ou au travail de chacun. J'espère également soutenir plus Wulin.com!