美文网首页
python进线程——多线程

python进线程——多线程

作者: TheRightPath1 | 来源:发表于2020-02-27 11:10 被阅读0次

1. 线程模块threading中的Thread

python的线程使用threading模块中的Thread类, 生成一个线程需要为Thread传递两个参数,target参数传递函数名,args参数传递函数需要的参数,它必须是一个元组, 如t1 = Thread(target=a, args=())

2. 当主线程退出时kill掉子线程

使用Thread类的setDaemon方法,将其设置为True可以将子线程设置为守护线程,即当主线程退出时守护线程kill掉.
代码示例

from threading import Thread
from time import sleep


def a():
    print(123)
    sleep(2)
    print(456)


def b():
    print(789)
    sleep(2)
    print(1011)


if __name__ == '__main__':
    print('start')
    t1 = Thread(target=a, args=())
    t2 = Thread(target=b, args=())
    t1.setDaemon(True)
    t2.setDaemon(True)
    t1.start()
    t2.start()
    print('end')

运行结果

start
123
789
end

3. 主线程等待子线程执行完成以后再继续执行

使用子线程的join方法
代码示例

from threading import Thread
from time import sleep


def a():
    print(123)
    sleep(2)
    print(456)


def b():
    print(789)
    sleep(2)
    print(1011)


if __name__ == '__main__':
    print('start')
    t1 = Thread(target=a, args=())
    t2 = Thread(target=b, args=())
    t1.start()
    t2.start()
    t1.join()
    t2.join()
    print('end')

运行结果

start
123
789
1011
456
end

4. 继承Thread类实现线程

当线程函数的逻辑比较复杂时需要采用继承Thread类的方法实现线程,之后重写run方法.
代码示例

class A(Thread):
    def __init__(self, name):
        super().__init__(name=name)

    def run(self) -> None:
        print(123)
        sleep(2)
        print(456)

相关文章

  • 多进程和多线程编程

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

  • 5-线程(补充)

    Python多线程原理与实战 目的: (1)了解python线程执行原理 (2)掌握多线程编程与线程同步 (3)了...

  • 多线程

    Python多线程原理与实战 目的: (1)了解python线程执行原理 (2)掌握多线程编程与线程同步 (3)了...

  • python多线程

    python多线程 什么是多线程 多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并...

  • 《莫烦Python3基础教程》学习笔记3

    一.Threading 多线程 1.什么是多线程 多线程是加速程序计算的有效方式,Python的多线程模块thre...

  • Python多线程编程——多线程编程中的加锁机制

    如果大家对Python中的多线程编程不是很了解,推荐大家阅读之前的两篇文章:Python多线程编程——多线程基础介...

  • [CP_12] Python多线程爬虫应用实践(社招职位名称获取

    目录结构 一、多线程爬虫的使用 1. 多线程实现 <关联> [Pt_04] Python进程|多进程|线程|多线程...

  • Python 多线程笔记

    Python 多线程笔记 创建线程 1. 使用函数创建多线程 2. 使用类创建多线程 继承 Thread 类 重写...

  • 线程、进程

    多线程 在介绍Python中的线程之前,先明确一个问题,Python中的多线程是假的多线程!为什么这么说,我们先明...

  • python爬虫--day05

    多线程 在介绍Python中的线程之前,先明确一个问题,Python中的多线程是假的多线程!为什么这么说,我们先明...

网友评论

      本文标题:python进线程——多线程

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