如何在同一时间运行两个函数(while(True))



如何同时运行两个函数(while(True((?

我有两个函数clientlegram.run_until_disconnect((和tkinter。Tk.mainloop((。我怎样才能并行执行。。例如,我想修改tkinter中的一个变量,但同时"client_tlegram"应该可以工作(从电报API中听到消息(

client_telegram = TelegramClient(username, api_id, api_hash)
client_telegram.start()
client_telegram.run_until_disconnected()
top = tkinter.Tk()
top.mainloop()

为了‘并行’运行两个函数,更准确地说,并发是使用线程的最佳方式。线程的概念通常是同时管理和组织多个进程的执行。

在您的示例中,如果您想要并行运行的两个函数不与任何共享资源或变量一起工作,那么您就不需要任何同步,您可以以这种方式同时启动这两个函数而不会出现任何问题:

import threading
t1 = threading.Thread(target=top.mainloop)
t2 = threading.Thread(target=client_telegram.start)
t1.start()
t2.start()
t1.join()
t2.join()

如果这两个函数需要同步,那么有许多概念可以用来控制线程的执行,比如锁和信号量。

最新更新