线程

创建线程

import threading
import time
import os

def sing(num):
    for i in range(num):
        print('唱歌')
        time.sleep(1)

def dance(num):
    for i in range(num):
        print('跳舞')
        time.sleep(1)

if __name__ == '__main__':
    sing_thread = threading.Thread(target=sing, args=(3,))
    dance_thread = threading.Thread(target=dance, kwargs={'num':2})

    sing_thread.start()
    dance_thread.start()

结束线程

import time
import threading


def work():
    for i in range(10):
        print("工作中。。")
        time.sleep(0.2)

if __name__ == '__main__':

    '''设置守护主进程,当主进程退出时,子进程会自动结束'''
    '''方法1'''
    sub_thread = threading.Thread(target=work, daemon=True)
    sub_thread.start()
'''方法2''' sub_thread = threading.Thread(target=work, daemon=True) sub_thread.setDaemon(True) sub_thread.start() '''默认情况主进程会等待子进程执行结束后才结束''' time.sleep(1) print('主进程执行完成')

多线程执行是无序的

import threading


def task():
    # current_thread : 获取当前线程对象
    thread = threading.current_thread()
    print(thread)

if __name__ == '__main__':
    for i in range(5):
        sub_thread = threading.Thread(target=task)
        sub_thread.start()

#多线程执行是无序的,由cpu调度决定

 

posted @ 2021-08-30 09:44  奋翅凌紫氛  阅读(34)  评论(0)    收藏  举报