Hlavním problémem vláken je to, že mohou způsobit spoustu sporů o zdroje, jako je čas procesoru a paměť. To může vést k problémům, pokud se dvě vlákna pokusí o přístup ke stejnému prostředku současně.ing_simple.py
#!/usr/bin/python import threading import time # Definujte funkci pro vlákno def print_time( threadName, delay): count = 0 while count < 5: time.sleep(delay) count += 1 print "%s: %s" % ( název_vlákna, čas.ctime(čas.čas()) ) # Vytvořte dvě vlákna následovně zkuste: thread.start_new_thread( print_time, ("Thread-1", 2, ) ) thread.start_new_thread( print_time, ( "Vlákno-2", 4, ) ) kromě: print "Chyba: nelze spustit vlákno" zatímco 1: pass[/code] Tento kód vytvoří dvě vlákna. První vlákno spustí funkci „print_time“ každé 2 sekundy a druhé vlákno spustí funkci „print_time“ každé 4 sekundy.
Závitování objektů
V Pythonu můžete vláknit objekty pomocí modulu vláknění. Tento modul poskytuje řadu funkcí, které můžete použít k vytváření a správě vláken v kódu.
Pro spuštění nového vlákna v Pythonu můžete použít funkci threading.Thread(). Tato funkce bere jako svůj jediný argument objekt funkce, který chcete spustit jako vlákno. Objekt funkce musí mít atribut __name__, který určuje název vlákna, na kterém bude tato funkce spuštěna.
Jakmile vytvoříte vlákno pomocí funkce Thread(), můžete jej spustit voláním metody Threading.start(). Tato metoda bere jako svůj jediný argument řetězec, který určuje název programového souboru, kde se má nové vlákno začít spouštět.
Můžete také použít metodu Threading.join() k ukončení běžícího vlákna a vrátit řízení zpět do hlavní smyčky programu. Tato metoda bere jako svůj jediný argument řetězec, který určuje název souboru programu, kde by nové vlákno mělo ukončit provádění.
Démonská vlákna
Vlákna démonů jsou vlákna, která běží na pozadí programu. Používají se ke zpracování dlouhotrvajících úkolů nebo služeb, aniž by narušovaly normální tok provádění.