笔记本📒

python多线程完成多任务

2021-01-18  本文已影响0人  涓涓自然卷

知识要点

1、导入线程模块:import threading
2、创建子线程并指定执行任务:sub_thread = threading.Thread(target=任务名)
3、启动线程执行任务:sub_thread.start()

代码🌰

import time
import threading


# 编写代码
def coding():
    for i in range(3):
        print("coding...")
        time.sleep(0.2)


# 听音乐
def music():
    for i in range(3):
        print('music...')
        time.sleep(0.2)


if __name__ == '__main__':
    # coding()
    # music()
    coding_thread = threading.Thread(target=coding)
    music_thread = threading.Thread(target=music)

    # 启动子线程
    coding_thread.start()
    music_thread.start()

运行结果

多线程完成多任务.png

线程执行带有参数的任务

线程执行带有参数的任务传参有两种方式:
import time
import threading


# 编写代码
def coding(num):
    for i in range(num):
        print("coding...")
        time.sleep(0.2)


# 听音乐
def music(count):
    for i in range(count):
        print('music...')
        time.sleep(0.2)


if __name__ == '__main__':
    # coding()
    # music()
    # 创建线程对象
    coding_thread = threading.Thread(target=coding, args=(3,))
    music_thread = threading.Thread(target=music, kwargs={"count": 3})

    # 启动子线程
    coding_thread.start()
    music_thread.start()

运行结果

带参数.png

设置守护主线程的方式:

coding_thread = threading.Thread(target=coding, args=(3,), daemon=True)

2、线程对象.setDaemon(True)

    coding_thread.setDaemon(True)
    music_thread.setDaemon(True)

执行效果

守护线程.png

线程和进程对比:

关系对比.png
优缺点对比.png
上一篇 下一篇

猜你喜欢

热点阅读