python 多线程状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 多线程状态相关的知识,希望对你有一定的参考价值。

我是用 函数 包装的 线程,如何判断 子线程的 状态(运行?非运行?)?
使用类包装threading 会出错,于是采用了 函数 包装 thread 然后 thread.start_new_thread(xiancheng1,(xxx,))这样启动的,主线程怎么判断这个线程是否运行呢?

参考技术A 一般在子线程/进程里打印信息,来判断不同线程/进程运行到了指定位置。

类的方式实例化后,可以调用is_alive()方法判断是否在运行。

下面这里有个例子可以试试,有注释,会python的话应该直接就能看懂。
http://study.163.com/forum/detail/664022.htm
参考技术B

threading.active_count()


Return the number of Thread objects currently alive. The returned count is
equal to the length of the list returned by enumerate().

active_count可以返回当前活动的线程枚举


我一般是这么用的

    def getHeatsParallel(self):
        threads = []
        for i in range(0, self.threadCount):
            t = threading.Thread(target=self.SomeFunction, name=str(i))
            threads.append(t)
            t.start()
        for t in threads:
            t.join()

不过我不关心几个活动,因为指定最多就是threadCount个线程

本回答被提问者和网友采纳

以上是关于python 多线程状态的主要内容,如果未能解决你的问题,请参考以下文章

Python的多线程锁跟队列

多线程-Threading

Python开发Day9(多线程多进程)

VB.net多线程编程问题

多线程-线程状态

python爬虫入门利用多线程爬虫