【问题标题】:Tkinter how to start a thread only when the previous one finishes?Tkinter如何仅在前一个线程完成时才启动线程?
【发布时间】:2014-11-17 09:41:13
【问题描述】:

所以我有这段代码:

xlist = []
        if fl != '':
            with open(fl, 'r') as fin:
                for line in fin:
                    xlist.append(line)
        for line in xlist:
            Thread(target=self.downloadSongList, args=(line,)).start()

我的问题是,我怎样才能一次只启动 1 个线程?因为现在,程序将所有线程一起启动,但我希望每个线程仅在前一个线程结束时启动。 我尝试使用 .join() 和队列,但似乎没有什么对我有用。 谢谢!

【问题讨论】:

    标签: python multithreading python-2.7 tkinter


    【解决方案1】:

    你不想要一堆线程。只需创建一个线程,然后将“for line in xlist”循环放入其中。

    【讨论】:

    • 您能详细说明一下吗?我不太明白你的意思,我会很感激举个例子。
    • 我做过这样的事情:t = Thread(target=self.downloadSongList, args=(line,)) for line in xlist: t.start() 但我收到一个错误“线程只能启动一次”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 2022-01-19
    • 2012-03-25
    • 2015-09-29
    • 1970-01-01
    相关资源
    最近更新 更多