我试图让两个函数同时运行。其中一个函数从服务器下载一堆文件,另一个函数更改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对象传递给线程。在
目前没有回答
相关问题 更多 >
编程相关推荐