Нить – самая маленькая единица, которая может быть запланирована в операционной системе. На практике используется резьба, когда несколько вещей необходимо случиться «одновременно».
Например, пока вы нажимаете «Загрузить» в своем веб-браузере, вы должны быть в состоянии продолжить серфинг в Интернете во время его загрузки. Это должно произойти «одновременно».
На реальности компьютеры используют планировщик, который дает крошечное количество времени в каждую нить.
Python Threats.
Можете ли вы использовать темы с Python? Да, пожалуйста! Создать нить в Python
#!/usr/bin/python3 # threading example, https://pythonbasics.org/ import threading # function that prints hello world and current thread def task(): print("Hello World: {}".format(threading.current_thread())) # create a thread and start it thread1 = threading.Thread(target=task) thread1.start()
Поскольку нить не заканчивается немедленно, она показывает только «Hello World». Вы можете поставить цикл в нить, создавать «параллельные рабочие процессы».
#!/usr/bin/python3 # threading example, https://pythonbasics.org/ import threading import time # function that prints hello world and current thread def task(): for i in range(0,10): print(" thread " + format(threading.current_thread()), end=''), print(" = " + str(i)) time.sleep(1) # create a thread and start it thread1 = threading.Thread(target=task) thread1.start() # create a thread and start it thread2 = threading.Thread(target=task) thread2.start()
Это затем работает Thread1 и Thread2 по кажуще в то же время. Обе нити считаются только вверх.
thread= 0 thread = 0 thread = 1 thread = 1 thread = 2 thread = 2 ...
Темы могут быть ждать друг друга и блокировать бесконечно. Это названо мертвым замком
Учить питон:
Оригинал: “https://dev.to/petercour/threads-with-python-2h70”