Maison programmation quotidienne Connaissance PHP Deux exemples concrets vous aident à comprendre le « principe de synchronisation des threads »

Deux exemples concrets vous aident à comprendre le « principe de synchronisation des threads »

Jan 19, 2021 pm 05:30 PM
1

Plusieurs threads (ou processus) souhaitent exécuter le même bloc de code de programme non réentrant spécifique (appelé section critique), ce qui nécessite une technologie de synchronisation de contrôle de concurrence appropriée. Sinon, des conditions de concurrence pourraient survenir.

                                                                                                Bloc de zone (zone critique/ressource critique) ) les opérations nécessitent l'utilisation de certains moyens techniques pour fonctionner sur des ressources critiques. Protéger et éviter toute confusion lors d'une utilisation partagée.

Pour donner un exemple simple, notre Alipay transfère 1 RBM à M.@wangchai À ce moment-là, une autre personne lui transfère également 1 RBM. À ce moment-là, il a déjà 1 yuan dans son portefeuille. , puisque les deux comptes sont saisis en même temps, le système de synchronisation non-thread effectuera les opérations suivantes :

Deux exemples concrets vous aident à comprendre le « principe de synchronisation des threads »La synchronisation non-thread prendra éventuellement le solde du portefeuille à 2 yuans, ce qui est évidemment faux. Oui, jetons un coup d'œil après avoir ajouté la synchronisation des threads :

Deux exemples concrets vous aident à comprendre le « principe de synchronisation des threads »Enfin, le solde du portefeuille est de 3 yuans. verrouillage ? Pour le résoudre, alors les spécifiques Quelles sont les méthodes ?

Deux exemples concrets vous aident à comprendre le « principe de synchronisation des threads »Nous pouvons également utiliser un exemple plus populaire pour illustrer :

    Il y a une intersection nouvellement construite, juste au début Est est-il adapté à cette intersection ? Il n'y a pas beaucoup de véhicules ? Chaque fois que nous arrivons à cette intersection, nous la dépassons avec plaisir. Mais petit à petit, de plus en plus de gens connaissent cette route, mais tout le monde passe l'intersection de manière ordonnée. jour Il y a eu un accident, donc le responsable des aménagements routiers a installé un feu tricolore Ce n'est que lorsque le feu vert dans cette direction est allumé que les personnes dans cette direction peuvent avancer. Il s'agit d'un verrou mutex. 🎜>
  • Certains véhicules ne doivent pas nécessairement traverser l'intersection lorsqu'ils arrivent ici. Certains véhicules font ici demi-tour, les responsables de l'aménagement routier ont donc conçu une voie de demi-tour pour permettre aux véhicules de faire demi-tour. passez sans avoir à attendre avec les véhicules de passage. Ce n'est que lorsque le feu est rouge que vous pouvez faire demi-tour. C'est le verrou en lecture-écriture

  • Il y a eu un incendie dans un entrepôt à proximité, et le camion de pompiers a occupé la voie de virage (les ressources occupées ne sont pas libérées, et d'autres peuvent passer par eux-mêmes ) jusqu'au convoi de pompiers ?? ?Les véhicules derrière ne peuvent passer normalement qu'après être passés. C'est l'écluse de rotation

  • Cette intersection est l'entrée de la ville. la pression a augmenté et le service des transports a commencé à préciser les réglementations. Véhicules extérieurs à la ville pendant les heures de pointe du matin et du soir. La circulation est interdite et des numéros restreints apparaissent. Il s'agit d'ajouter des « variables de condition » et d'ajouter des tampons pour soulager la pression

    .

  • Certains exemples ne sont peut-être pas aussi précis, comme les verrous rotatifs, mais cet exemple est combiné avec la réalité. La théorie nous permet de comprendre rapidement les caractéristiques de chaque verrou dans la mémoire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)