rlock est un verrou réentrant. Vous pouvez simplement comprendre qu'il est livré avec un compteur de +1, et que la libération a un compteur de -1. Les valeurs négatives ne sont pas autorisées, sinon une exception se produira. .
Pourquoi faites-vous cela ? Étant donné que les scénarios d'application sont différents, les verrous réentrants peuvent appeler une autre méthode qui nécessite le verrou, mais les verrous non réentrants ne peuvent pas le faire.
La différence entre lock et rlock est r : réentrant, qui peut être saisi à plusieurs reprises. Un thread peut acquérir le même rlock plusieurs fois sans être bloqué. Si un thread acquiert rlock plusieurs fois, il doit libérer le même numéro. Ce n'est qu'alors que ce rlock pourra être libéré.
Le verrouillage est différent. Il ne peut être acquis qu'une seule fois et ne peut pas être acquis à nouveau avant d'être libéré.
Pour plus d'informations, veuillez vous référer à cette réponse : http://stackoverflow.com/ques...
rlock est un verrou réentrant. Vous pouvez simplement comprendre qu'il est livré avec un compteur de +1, et que la libération a un compteur de -1. Les valeurs négatives ne sont pas autorisées, sinon une exception se produira. .
Pourquoi faites-vous cela ? Étant donné que les scénarios d'application sont différents, les verrous réentrants peuvent appeler une autre méthode qui nécessite le verrou, mais les verrous non réentrants ne peuvent pas le faire.
La différence entre lock et rlock est r :
réentrant, qui peut être saisi à plusieurs reprises. Un thread peut acquérir le même rlock plusieurs fois sans être bloqué. Si un thread acquiert rlock plusieurs fois, il doit libérer le même numéro. Ce n'est qu'alors que ce rlock pourra être libéré.
Le verrouillage est différent. Il ne peut être acquis qu'une seule fois et ne peut pas être acquis à nouveau avant d'être libéré.
Pour plus d'informations, veuillez vous référer à cette réponse :
http://stackoverflow.com/ques...