Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab_2 / lab2_os_2

.py
Скачиваний:
0
Добавлен:
12.02.2024
Размер:
1.26 Кб
Скачать
#!/usr/bin/env python3
import threading
import datetime
import os

# Функция для вывода информации о потоке
def print_thread_info(thread_name, parent_pid):
    thread_id = threading.current_thread().ident
    current_time = datetime.datetime.now().strftime("%H:%M:%S")
    print(f"{thread_name} ID: {thread_id} PID: {parent_pid} время: {current_time}")

def main():
    # Получаем PID родительского процесса
    parent_pid = os.getpid()

    # Создаем первый дочерний поток
    thread1 = threading.Thread(target=print_thread_info, args=("Дочерний поток 1", parent_pid))

    # Создаем второй дочерний поток
    thread2 = threading.Thread(target=lambda: print_thread_info("Дочерний поток 2", parent_pid))

    # Вывод информации о родительском процессе
    print_thread_info("Родительский процесс", parent_pid)

    # Запускаем дочерние потоки
    thread1.start()
    thread2.start()

    # Ждем завершения обоих дочерних потоков
    thread1.join()
    thread2.join()

if __name__ == "__main__":
    main()

Соседние файлы в папке lab_2