Как я могу запустить две функции одновременно? - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть две функции в Python, одна из внешнего файла py, а другая как функция графического интерфейса Tkinter.Я хочу иметь возможность запускать оба без остановки графического интерфейса или внешней функции.Я пробовал темы, но он запускает только ту, которую я объявляю первой.Это код из файла GUI:

import bot
import tkinter as tk
def tasks():
    tsks = tk.Tk()
    tsks.title("Tasks")
    tsks.geometry("250x600")
    Label(tsks, text='Label stuff').pack(side = 'top')

    if pressed == True:
        a0 = Label(tsks, text='more label stuff').pack()
        tsks.mainloop()

def press():
    global pressed
    pressed=True
    Thread(target = tasks()).start()
    Thread(target = bot.on()).start()
tasks()
press()

1 Ответ

0 голосов
/ 27 сентября 2019

Вы можете использовать multiprocessing.Process.Например,

from multiprocessing import Process
from time import sleep

def s1():
    count = 10
    while count >= 0:
       print('This is s1.')
       sleep(1.)
       count -= 1

def s2():
    count = 5
    while count >= 0:
        print('This is s2.')
        sleep(1.)
        count -= 1

p1 = Process(target=s1, daemon=True)
p2 = Process(target=s2, daemon=True)

p1.start(), p2.start()
p1.join(), p2.join()

Вы можете запустить этот скрипт и увидеть, что две функции работают одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...