python3爬虫如何统计多线程的运行

726次阅读
没有评论

python3爬虫如何统计多线程的运行

我们一直在说多线程可以同时进行程序的运转,那么今天我们再进一步思考,同时运行的线程会有多少个呢?可能有的小伙伴没往这个层面想过。那么我们可以把这个问题拆分成三个小部分:拆分的个数、拆分的线程是什么、在运行的线程是什么。明确了这个思路我们就可以进行今天内容的学习了。

线程的基本统计

 import threading

def main(): print(threading.active_count()) # 统计现在有多少个激活的线程 print(threading.enumerate())    # 是哪几个激活的线程:名字 print(threading.current_thread()) # 现在正在运行的线程

if __name__ == ‘__main__’: main()

输出结果为

5
[<_MainThread(MainThread, started 21440)>, <Thread(Thread-4, started daemon 15276)>, <Heartbeat(Thread-5, started daemon 17844)>, <HistorySavingThread(IPythonHistorySavingThread, started 13528)>, <ParentPollerWindows(Thread-3, started daemon 21116)>]
<_MainThread(MainThread, started 21440)>

表示有5个已经active的threading,一个是mainthread,另外是thread-4、thread-5、thead-3、savingThread;正在运行的是主线程。

 

拓展:增加target和传参args

def thread_job():
    print("This is an added thread, numbet is %s."%threading.current_thread())
 
def main1():
    # added_thread = threading.Thread() # 添加的线程,尚未给它工作
    added_thread = threading.Thread(target=thread_job) # 添加的线程,同时给它定义一个工作,通过target传进去工作内容,
    # 同时加上执行的语句 .start() 运行
    added_thread.start()
 
if __name__ == '__main__':
main1()

运行结果

This is an added thread, numbet is <Thread(Thread-9, started 13780)>.

 

本篇统计运行中多线程的个数不是很难,小伙伴们可以手动输入代码试试,再跟小编的代码进行对比,另外可以了解一下target和args的额外用法。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-23发表,共计1211字。
新手QQ群:570568346,欢迎进群讨论 Python51学习