美文网首页笔记本📒
python多线程完成多任务

python多线程完成多任务

作者: 涓涓自然卷 | 来源:发表于2021-01-18 09:14 被阅读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

线程执行带有参数的任务

线程执行带有参数的任务传参有两种方式:
  • 1、元组方式传参:元组方式传参一定要和参数的顺序保持一致
  • 2、字典方式传参:字典方式传参字典中的key一定要和参数名保持一致。
  • 🌰
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

设置守护主线程的方式:

  • 这只守护主线程的目的是主线程退出子线程销毁,不让主线程再等待子线程去执行。
  • 设置守护主线程有两种方式:
    1、coding_thread = threading.Thread(target=coding, args=(3,), daemon=True)
coding_thread = threading.Thread(target=coding, args=(3,), daemon=True)

2、线程对象.setDaemon(True)

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

执行效果

守护线程.png

线程和进程对比:

关系对比.png
优缺点对比.png

相关文章

  • Python多线程

    Python多线程 多任务不仅可以使用多进程完成,也可使用多线程完成。一个进程可以包含很多线程,但至少含有一个线程...

  • python多线程完成多任务

    知识要点 1、导入线程模块:import threading2、创建子线程并指定执行任务:sub_thread =...

  • Python多线程多进程

    Python多线程多进程 QUICK START 1.[endif]进程和线程 1.1系统多任务机制 多任务操作的...

  • 多进程和多线程编程

    多任务的实现方式: 多进程模式 多线程模式 多进程 + 多线程 模式python即支持多进程,又支持多线程,如下进...

  • 浅析python的GIL

    Python中的GIL锁 在Python中,可以通过多进程、多线程和多协程来实现多任务。 在多线程的实现过程中,为...

  • python 进程和线程之多线程

    python学习笔记,特做记录,分享给大家,希望对大家有所帮助。 多线程 多任务可以由多进程完成,也可以由一个进程...

  • python用threading创建多线程完成多任务

    threading是一个比较底层的api, 一般来说不用这个包来创建多线程 1.直接创建多线程 执行结果: 2.利...

  • 进程与线程 -- 多线程

    进程是由若干线程组成的,一个进程至少有一个线程多任务可以由多进程完成,也可以由一个进程内的多线程完成。Python...

  • Python多任务之——线程和进程(二)

    Python多任务之——线程和进程(二) 接着前一篇文章的内容,这篇文章我们来介绍python如何创建多线程、多进...

  • Java8 线程池

    1,完成多任务的线程自动负载均衡2,完成多线程结果归并 输出10次 5050,不执行integerFuture.g...

网友评论

    本文标题:python多线程完成多任务

    本文链接:https://www.haomeiwen.com/subject/gyutzktx.html