import threading
def count_down(start):
"""
Отсчитывает числа от заданного значения до 1.
"""
for i in range(start, 0, -1):
print(f"Countdown: {i}")
# Создаем два потока с разным начальным значением отсчета
thread1 = threading.Thread(target=count_down, args=(5,))
thread2 = threading.Thread(target=count_down, args=(3,))
# Запускаем потоки
thread1.start()
thread2.start()
# Ожидаем завершения
thread1.join()
thread2.join()
print("Отсчет завершен.")
import threading
def count_words(filename):
"""
Считает количество слов в файле и выводит результат.
"""
try:
with open(filename, "r") as file:
text = file.read()
word_count = len(text.split())
print(f"{filename}: {word_count} слов")
except FileNotFoundError:
print(f"{filename}: файл не найден")
# Создаем два потока для работы с разными файлами
thread1 = threading.Thread(target=count_words, args=("file1.txt",))
thread2 = threading.Thread(target=count_words, args=("file2.txt",))
# Запускаем потоки
thread1.start()
thread2.start()
# Ожидаем завершения
thread1.join()
thread2.join()
print("Обработка файлов завершена.")
from concurrent.futures import ThreadPoolExecutor
def process_file(file_name):
print(f"Processing file: {file_name}")
# Создаем пул из 3 threads
with ThreadPoolExecutor(max_workers=3) as executor:
files = ["file1.txt", "file2.txt", "file3.txt", "file4.txt"]
executor.map(process_file, files)