@POMA0197263

Как запустить несколько файлов python одновременно?

Здравствуйте я хочу запустить 2 бота одновременно, но не получается

import bot_1, bot_2
from threading import Thread

Thread(target=bot_2.main).start()
Thread(target=bot_1.main).start()

Данный код запускает то файл bot_1, а bot_2 он не запускает с чем это связано?

P.S в кодах нету ошибок я их запускал отдельно и все нормально работает)
Я хочу запустить их через файл, а не через консоль запускать это так на всякий
Буду рад если поможите (
  • Вопрос задан
  • 2492 просмотра
Пригласить эксперта
Ответы на вопрос 3
@twistfire92
Python backend developer
Так и запускайте их отдельно. Зачем вам их в одном процессе объединять?
Ответ написан
@full_stack_newbie
Оберните старт бота не в main а в обычную функцию startbotX и стартуйте так
if __name__ == '__main__':
    Thread(target = startbot1).start()
    Thread(target = startbot2).start()
Ответ написан
@hirocamado
Для автора уже не актуально, но для других, кто наткнётся на вопрос
На сколько я знаю, threading это не настоящая многопоточность. Так как запускается это всё в 1 программе Python, то поток остаётся один, а процессы будут выполняться поочерёдно. Это приводит к тому что оба процесса замедляются из-за нужды делиться потоком, что, возможно, и приводит к блокировке одного процесса другим
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы