如何在Python中同时运行两个线程?

2024-09-30 03:23:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让两个函数同时运行。其中一个函数从服务器下载一堆文件,另一个函数更改gui中用作进度条的标签文本。执行下载的线程似乎完全阻止了另一个线程在它完成之前运行,即使另一个线程是先启动的。代码如下:

def getData(statusText):
    getFiles = threading.Thread(target=mf.getCurrentData)
    progressDisplay = threading.Thread(target=progressBar, args=(statusText,))
    if __name__ == '__main__':
        progressDisplay.start()
        getFiles.start()

编辑:当我尝试使用多处理时,收到以下错误:PicklingError:无法pickle'tkapp'对象:

对我来说,这并不是一个简单的“获取一切”的选项。为了使其更新GUI,我必须对现有代码进行大量修改。但我不明白为什么穿线不管用。我的程序的另一部分是线程,而进程运行的时间较长,进度条在该实例中占用的内存要多得多。在

编辑三:我解决了这个问题。我真是太蠢了。程序中其他地方的循环正在阻止线程正确运行。我一直使用线程而不是多处理,因为我将tkinter对象传递给线程。在


Tags: 对象函数代码进度条程序服务器编辑target

热门问题