我们一直在说多线程可以同时进行程序的运转,那么今天我们再进一步思考,同时运行的线程会有多少个呢?可能有的小伙伴没往这个层面想过。那么我们可以把这个问题拆分成三个小部分:拆分的个数、拆分的线程是什么、在运行的线程是什么。明确了这个思路我们就可以进行今天内容的学习了。
线程的基本统计
import threading
def main():
print(threading.active_count()) # 统计现在有多少个激活的线程
print(threading.enumerate()) # 是哪几个激活的线程:名字
print(threading.current_thread()) # 现在正在运行的线程
if __name__ == '__main__':
main()
输出结果为
5 [<_MainThread(MainThread, started 21440)>,, , , ] <_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.
本篇统计运行中多线程的个数不是很难,小伙伴们可以手动输入代码试试,再跟小编的代码进行对比,另外可以了解一下target和args的额外用法。更多Python学习指路:PyThon学习网教学中心。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)