Специальный функционал, который позволяет выполнять код параллельно друг другу
Два потока: неосновной и основной
import time # Импортируем библиотеку, которая может "стопить" нашу программуimport threading # Импортируем библиотеку, которая работает с потокамиdef sleepTime(wait, name): print("Выводим текст: {}".format(name)) time.sleep(wait) # Функция, которая позволяет ввести програму в сон на какое-то количество секунд print("Выводим текст повторно: {}".format(name))td = threading.Thread(target=sleepTime, name='SleepTime', args=(10, 'SleepTime')) # target - это функция, к которой мы обращаемся. Первый параметр в args - это время, второй параметр - это название функцииtd.start()td.join() # Изначально завершается неосновной поток td, потом стартует основной поток print("Привет, мир!")
Один поток
import time # Импортируем библиотеку, которая может "стопить" нашу программуimport threading # Импортируем библиотеку, которая работает с потокамиdef sleepTime(wait, name): print("Выводим текст: {}".format(name)) time.sleep(wait) # Функция, которая позволяет ввести програму в сон на какое-то количество секунд print("Выводим текст повторно: {}".format(name))sleepTime(10, 'SleepTime') # Сначала выводится первый кусок с "Выводим текст", через 10 выводится кусок повторно и "Привет, мир!"print("Привет, мир!")
import time # Импортируем библиотеку, которая может "стопить" нашу программуimport threading # Импортируем библиотеку, которая работает с потокамиdef sleepTime(wait, name): print("Выводим текст: {}".format(name)) time.sleep(wait) # Функция, которая позволяет ввести програму в сон на какое-то количество секунд print("Выводим текст повторно: {}".format(name))startTime = time.time()t_list = [] # Создаём пустой список, чтобы посчитать время за каждый потокfor x in range(5): name = 'Sleep time ' + str(x) print("{} был запущен".format(name)) td = threading.Thread(target=sleepTime, name='name', args=(10, 'name')) td.start() t_list.append(td) # Добавляем td в список с помощью appendfor y in t_list: y.join() # Задаём то, что подпроцессы должны выполняться непараллельно основному потоку endTime = time.time()print("Время обработки", (endTime - startTime), "секунд")