def append(self, value) -> None
append
est « thread-safe ». Si plusieurs threads travaillent simultanément sur la même liste,
chaque insertion de valeur sera garantie.
Append object to the end of the list.
Paramètre | Description |
---|---|
self : list |
La liste courante. Rappel : self est implicitement passée lors de l'appel de la méthode. |
value : object |
La nouvelle valeur à ajouter à la liste. |
Cette méthode ne renvoie aucune valeur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/usr/bin/python3 data = [] # Une liste vide while True: strValue = input("Entrez une valeur entière : ") if strValue == "exit": break try: value = int(strValue) data.append(value) # On ajoute la valeur à la fin de la liste except ValueError: print("La valeur renseignée n'est pas entière:", strValue) print("Voici l'ensemble des valeurs renseignées : ") print(data) |
Et voici un exemple d'exécution de ce programme :
Entrez une valeur entière : 10 Entrez une valeur entière : 20 Entrez une valeur entière : 30 Entrez une valeur entière : exit Voici l'ensemble des valeurs renseignées : [10, 20, 30]
Ce second exemple montre l'aspect « thread-safe » de la méthode append.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#!/usr/bin/python3 import threading collection = [] # On crée une classe de thread permettant d'ajouter 10 000 000 # de valeur dans la collection précédente. class Adder(threading.Thread): def run(self): for value in range(10_000_000): collection.append(value) # On lance 10 threads sur le code ci-dessus. threads = [] for i in range(10): threads.append(Adder()) threads[i].start() # On attend que les 10 threads soient terminés for i in range(10): threads[i].join() # Au final, on doit afficher une taille de liste de 100 000 000 print("La collection contient", len(collection), "entries") |
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :