Quelqu'un peut-il expliquer simplement ce qu'est la contention de fil ?
J'ai fait des recherches sur Internet, mais je n'ai pas trouvé d'explication simple.
Quelqu'un peut-il expliquer simplement ce qu'est la contention de fil ?
J'ai fait des recherches sur Internet, mais je n'ai pas trouvé d'explication simple.
La contention de verrou a lieu lorsqu'un thread essaie d'acquérir le verrou d'un objet qui est déjà lu. un objet qui est déjà acquis par un autre thread*. Jusqu'à ce que l'objet soit libéré, le thread est bloqué (en d'autres termes, il se trouve dans l'état état d'attente). Dans certains cas, cela peut conduire à une exécution dite "en série" qui affecte négativement l'application. qui affecte négativement l'application.
Imaginez le scénario suivant. Vous vous préparez pour l'examen final de demain examen final de demain et vous avez un peu faim. Vous donnez donc à votre jeune frère dix dollars et lui demandez de vous acheter une pizza. Dans ce cas, vous êtes le fil principal et votre frère est un fil enfant. Une fois que votre commande est l'ordre est donné, vous et votre frère effectuez leur travail de manière concurrente (c'est-à-dire étudier et acheter une pizza). Maintenant, nous avons deux cas à considérer. Premièrement, votre frère ramène votre pizza et termine son travail pendant que vous étudiez. Dans ce cas, vous pouvez arrêter d'étudier et profiter de la pizza. la pizza. Deuxièmement, vous terminez votre étude tôt et vous dormez (c'est-à-dire que votre tâche assignée pour aujourd'hui - étudier pour l'examen final de demain - est terminée) avant que la pizza ne soit disponible. Bien sûr, vous ne pouvez pas dormir, sinon vous n'aurez pas l'occasion de manger la pizza. Ce que vous allez faire, c'est attendre que votre frère ramène la pizza.
Comme dans l'exemple, les deux cas donnent le sens de la rivalité.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.