(1)使用threading模块创建线程
创建两个函数,同时执行这两个函数
import threading
import time
def sing():
for i in range(5):
time.sleep(1)
print("正在唱歌!!!!!!")
def dance():
for i in range(5):
time.sleep(1)
print("正在跳舞!!!!!!")
def main():
#target为函数,而不能是一个函数的执行结果,返回一直实例化对象
t1 = threading.Thread(target=sing)
t2 = threading.Thread(target=dance)
#创建子线程,调用函数在子线程执行
t1.start()
t2.start()
if __name__ == '__main__':
main()
执行结果
![](https://images2018.cnblogs.com/blog/1195071/201809/1195071-20180903175500846-1664775678.png)
(2)查看当前运行的线程:threading模块的enumerate()方法
import threading
import time
def sing():
for i in range(5):
time.sleep(1)
print("正在唱歌!!!!!!")
def dance():
for i in range(5):
time.sleep(1)
print("正在跳舞!!!!!!")
def main():
#创建子线程,target为函数,而不能是一个函数的执行结果
t1 = threading.Thread(target=sing)
t2 = threading.Thread(target=dance)
#调用函数在子线程执行
t1.start()
time.sleep(1)
t2.start()
while True:
print(threading.enumerate())
if len(threading.enumerate()) <= 1:
break
time.sleep(1)
if __name__ == '__main__':
main()
运行结果
![](https://images2018.cnblogs.com/blog/1195071/201809/1195071-20180903180048507-812344150.png)