知行编程网知行编程网  2022-12-02 06:30 知行编程网 隐藏边栏  1 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中实现多线程有几种方式?的相关知识,希望可以帮到处于编程学习途中的小伙伴


我们都知道代码编程不是一个固定的东西,而是一个非常灵活的内容。根据不同的内容,我们可以展开很多条内容。最终目标是取得成果。我给大家举个最常用的多线程的例子吧


~以及实现的几种方式。



1. 用函数创建多线程





Python3中,Python提供了一个内置模块 threading.Thread,可以很方便地让我们创建多线程。



举个例子

import time
from threading import Thread
 
# 自定义线程函数。
def target(name="Python"):
    for i in range(2):
        print("hello", name)
        time.sleep(1)
 
# 创建线程01,不指定参数
thread_01 = Thread(target=target)
# 启动线程01
thread_01.start()
 
 
# 创建线程02,指定参数,注意逗号
thread_02 = Thread(target=target, args=("MING",))
# 启动线程02
thread_02.start()



可以看到输出

hello Python
hello MING
hello Python
hello MING


2.



用类创建多线程

与函数相比,使用类创建线程要麻烦一点。

首先,我们需要自定义一个类。这门课有两个要求。


l



必须继承

threading.Thread 这个父类;


l



必须复写

run 方法。



来看一下例子为了方便对比,

run函数我复用上面的main。

import time
from threading import Thread
 
class MyThread(Thread):
    def __init__(self, type="Python"):
        # 注意:super().__init__() 必须写
        # 且最好写在第一行
        super().__init__()
        self.type=type
 
    def run(self):
        for i in range(2):
            print("hello", self.type)
            time.sleep(1)
 
if __name__ == '__main__':
    # 创建线程01,不指定参数
    thread_01 = MyT
hread()
    # 创建线程02,指定参数
    thread_02 = MyThread("MING")
 
    thread_01.start()
thread_02.start()


当然结果也是一样的。

hello Python
hello MING
hello Python
hello MING


3.



线程对象的方法



上面介绍了当前

Python 中创建线程两种主要方法。

# 如上所述,创建一个线程
t=Thread(target=func)
 
# 启动子线程
t.start()
 
# 阻塞子线程,待子线程结束后,再往下执行
t.join()
 
# 判断线程是否在执行状态,在执行返回True,否则返回False
t.is_alive()
t.isAlive()
 
# 设置线程是否随主线程退出而退出,默认为False
t.daemon = True
t.daemon = False
 
# 设置线程名
t.name = "My-Thread"



至此,

Python线程基础知识,我们大概都介绍完了。



感兴趣的小伙伴可以多浏览看下内容哦

~如果还想知道更多的python知识,可以到
进行查询。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享