« Programmation Python/Threads » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 425 :
Au cours de votre examen du code ci-dessus, vous aurez certainement remarqué la structure particulière des blocs d'instructions par lesquelles le serveur expédie un même message à tous ses clients. Considérez par exemple les lignes 74 à 80 :
 
La ligne 75 active la méthode <code>acquire()</code> d'un objet « verrou » qui a été créé par le constructeur de l'application principale (voir plus loin). Cet objet est une instance de la classe <code>Lock()</code>, laquelle fait partie du module ''threading'' que nous avons importé en début de script. Les lignes suivantes (76 à 79) provoquent l'envoi d'un message à tous les clients connectés (sauf un). Ensuite, l'objet « verrou » est à nouveau sollicité, cette fois pour sa méthode <code>release()</code>.
 
A quoi cet objet « verrou » peut-il donc bien servir ? Puisqu'il est produit par une classe du module ''threading'', vous pouvez deviner que son utilité concerne les threads. En fait, de tels objets « verrous » servent à ''synchroniser les threads concurrents''. De quoi s'agit-il ?