[Neta] Thread-sichere Sleep-Sortierfunktion in Python (Threading)

Ausgehend vom Trend habe ich eine thread-sichere Funktion erstellt, die Sortierergebnisse zurückgibt. Möchten Sie etwas wie Multiprocessing oder Joblib machen?

from threading import Thread, Lock
from time import sleep

def sleep_sort(values):
    sorted_values = []
    lock = Lock()
    def worker(value):
        sleep(value)
        with lock: sorted_values.append(value)
    threads = [Thread(target=worker, args=(value,)) for value in values]
    for thread in threads: thread.start()
    for thread in threads: thread.join()
    return sorted_values

array = [5, 3, 6, 3, 6, 3, 1, 4, 7]
print(sleep_sort(array))

Ausführungsergebnis (die Ausführung dieses Skripts dauert 7 Sekunden)


[1, 3, 3, 3, 4, 5, 6, 6, 7]

Referenz: 2012/03/16 Schreiben wir die Schlafsortierung generisch in Ruby. 2013/05/15 Erklärung der Schlafart 24.10.2013 Training sleepsort 09.06.2015 Rost- und Schlafsortierung 25.06.2015 Schlafsortierung in C # geschrieben 21.10.2015 Ich habe versucht, die Schlafsortierung in der Parallelverarbeitung von C ++ zu implementieren 15.11.2016 Multithread-Vergleich mit Sleep Sort (js / TS / VB / C # / C ++ / D / Go / HSP (Nebel)) 2017/04/24 [[Neta] Schlafsortierung mit Swift]([Neta] Schlafsortierung mit Swift) 2017/04/24 [Neta] Sleep Sort mit JavaScript 26.04.2017 [Neta] Sleep Sort in Java 2017/04/26 [Neta] Sleep Sort in Python 2017/04/26 sleep sort

Recommended Posts

[Neta] Thread-sichere Sleep-Sortierfunktion in Python (Threading)
Blasensortierung in Python
Benutzerdefinierte Sortierung in Python3
Erstellen Sie eine Funktion in Python
Verwenden Sie die Rückruffunktion in Python
Sortieren Sie den Pfad natürlich in Python
ntile (Dezil) -Funktion in Python
Asynchrone Verarbeitung (Threading) in Python
Absteigende Sorte mit Mongodb in Python
Nichtlineare Funktionsmodellierung in Python
Zeichne die Yin-Funktion in Python
Sofortige Funktion (Lüge) in Python
Sortieren nach Datum in Python
Implementieren Sie die Funktion power.prop.test von R in Python
Sortierwarnung in der Funktion pd.concat
Definition des Funktionsargumenttyps in Python
Inklusive Notation im Argument der Python-Funktion
Schreiben Sie die AWS Lambda-Funktion in Python
Messen Sie die Ausführungszeit von Funktionen in Python
Sortieren Sie große Textdateien in Python
Funktionssynthese und Anwendung in Python
Wenn Sie mehrere Schlüssel in Python-Sortierung angeben
Was ist neu in Python 3.9 (2) -Sortierte nicht verteilte Diagramme in Python
Python-Funktion ①
Vorsichtsmaßnahmen beim Beizen einer Funktion in Python
[Python] -Funktion
Nehmen Sie die logische Summe von List in Python (Zip-Funktion)
[Python] Sortieren
Python #sort
Stuge Sort in Python 3 implementiert (Bubble Sort & Quick Sort)
Python-Funktion ②
Registrieren Sie Funktionsargumente automatisch in argparse in Python
Holen Sie sich den Aufrufer einer Funktion in Python
Ein Memo, das ich in Python zusammengeführt habe
Ich habe versucht, die inverse Gammafunktion in Python zu implementieren
Python Assertion-Fehler: size.width> 0 && size.height> 0 in der Funktion imshow
Sortieren Sie Listenelemente in Python in der angegebenen Reihenfolge
Ich habe versucht, eine selektive Sortierung in Python zu implementieren
[Python] Manipulation von Elementen in einer Liste (Array) [Sortieren]
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Python-Aufzählungsfunktion
Metaanalyse in Python
Unittest in Python
Python> Funktion> Schließen
Epoche in Python
[Python] Generatorfunktion
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python