温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中实现多线程的案例

发布时间:2020-11-09 11:27:17 来源:亿速云 阅读:166 作者:小新 栏目:编程语言

这篇文章主要介绍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. 用类创建多线程

相比较函数而言,使用类创建线程,会比较麻烦一点。

首先,我们要自定义一个类,对于这个类有两点要求,

必须继承 threading.Thread 这个父类;

必须复写 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中实现多线程的案例的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI