Python学习【第26篇】:Python系列- 多线程(threading)
2018-04-15 12:51
411 查看
线程的调用方式:threanding模块
import threading import time def sayhi(num): #定义每个线程要运行的函数 print("running on number:%s" %num) time.sleep(3) if __name__ == '__main__': t1 = threading.Thread(target=sayhi,args=(1,)) #生成一个线程实例 t2 = threading.Thread(target=sayhi,args=(2,)) #生成另一个线程实例 t1.start() #启动线程 t2.start() #启动另一个线程 print(t1.getName()) #获取线程名 print(t2.getName()) 直接调用
join():在子线程完成运行之前,这个子线程的父线程将一直被阻塞。 setDaemon(True): 将线程声明为守护线程,必须在start() 方法调用之前设置, 如果不设置为守护线程程序会被无限挂起。这个方法基本和join是相反的。 当我们 在程序运行中,执行一个主线程,如果主线程又创建一个子线程,主线程和子线程 就分兵两路,分别运行,那么当主线程完成 想退出时,会检验子线程是否完成。如 果子线程未完成,则主线程会等待子线程完成后再退出。但是有时候我们需要的是 只要主线程 完成了,不管子线程是否完成,都要和主线程一起退出,这时就可以 用setDaemon方法啦 # run(): 线程被cpu调度后自动执行线程对象的run方法 # start():启动线程活动。 # isAlive(): 返回线程是否活动的。 # getName(): 返回线程名。 # setName(): 设置线程名。 threading模块提供的一些方法: # threading.currentThread(): 返回当前的线程变量。 # threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。 # threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。
相关文章推荐
- Python模块学习:threading 多线程控制和处理
- Python模块学习 ---- threading 多线程控制和处理
- Python模块学习:threading 多线程控制和处理
- python学习笔记之使用threading模块实现多线程(转)
- Python模块学习:threading 多线程控制和处理
- Python 多线程 -thread threading Queue- 简单学习
- Python模块学习:threading 多线程控制和处理
- Python3 多线程 学习 threading
- Python模块学习 ---- threading 多线程控制和处理
- python学习笔记之使用threading模块实现多线程(转)
- Python模块学习 ---- threading 多线程控制和处理
- Python模块学习:threading 多线程控制和处理
- Python模块学习:threading 多线程控制和处理
- python学习笔记(threading多线程)
- Python模块学习 ---- threading 多线程控制和处理
- Python模块学习 ---- threading 多线程控制和处理
- python学习笔记之使用threading模块实现多线程(转)
- 一步一步学习多线程系列文章---开篇《Threading in C#》翻译
- python学习笔记之使用threading模块实现多线程(转)
- Python模块学习 ---- threading 多线程控制和处理