线程

(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()

执行结果

(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://www.cnblogs.com/lovelinux199075/p/9579858.html