美文网首页
python3创建多线程的几种方法

python3创建多线程的几种方法

作者: CurryCoder | 来源:发表于2019-01-23 22:41 被阅读14次

python3创建多线程主要有下面两种方法:函数、类

1.函数创建多线程

python3中,提供了一个内置模块threading.Thread,可以很方便的创建多线程,threading.Thread()一般接收2个参数:

  • 线程函数名:要放置线程让其后台执行的函数,有用户自己定义,主要不要加()
  • 线程函数的参数: 线程函数名所需的参数,以tuple形式传入,如果不需要参数,可以不指定。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2019-01-23 22:27:22
# @Author  : cdl (1217096231@qq.com)
# @Link    : https://github.com/cdlwhm1217096231/python3_spider
# @Version : $Id$

import time
from threading import Thread


# 自定义线程函数
def my_threadfunc(name='python3'):
    for i in range(2):
        print("hello", name)
        time.sleep(1)


# 创建线程01,不指定参数
thread_01 = Thread(target=my_threadfunc)
# 启动线程01
thread_01.start()


# 创建线程02,指定参数,注意逗号不要少,否则不是一个tuple
thread_02 = Thread(target=my_threadfunc, args=('Curry',))
# 启动线程02
thread_02.start()

2.类创建多线程

首先,自定义一个类,对这个自定义的类有两个要求:1.必须继承threading.Thread这个父类。2.必须重写run()这个方法。这个run()方法相当于第一种方法中的线程函数,可以写自己需要的业务逻辑代码,在start()后将会调用。

import time
from threading import Thread


class MyThread(Thread):
    def __init__(self, name='Python3'):
        super().__init__()
        self.name = name

    def run(self):
        for i in range(2):
            print("Hello", self.name)
            time.sleep(1)

3.多线程函数总结

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编程时光

相关文章

  • python3创建多线程的几种方法

    python3创建多线程主要有下面两种方法:函数、类 1.函数创建多线程 python3中,提供了一个内置模块th...

  • Java多线程(二)线程的创建及线程的生命周期

    在多线程(一)中,我们简要地介绍了线程基本知识,下面主要介绍创建线程的两种方法,并分析线程的几种基本状态。 创建线...

  • 记录一次电话面试

    1.自我介绍这个是必须的吧问:单例的优缺点创建单例的方法多线程使用的场景,方法, 你用过那几种?YYkit源码的分...

  • C#多线程

    C#多线程 一多线程的几种方式 统一用于测试的模拟下载代码 1:委托创建线程实现异步 实例1:Action委托创建...

  • python日常

    1. Python3中字典(dict)合并的几种方法 方法一:字典的update()方法 方法二:字典的dict(...

  • iOS开发多线程相关

    最近使用多线程比较多,整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案...

  • 用Python创建多线程的几种方法

    内容会比较基础,主要是为了让新手也能无障碍地阅读,所以还是要再巩固下基础。学完了基础,你们也就能很顺畅地跟着我的思...

  • 多线程-NSThread

    多线程学习笔记 - NSThread NSThread的集中创建方法 1.方法一: NSThread对象创建 需要...

  • 创建线程的方式

    1创建线程的几种方式a.继承Thread类实现多线程b.实现Runnable接口方式实现多线程c.使用Execut...

  • 2018-10-04

    多线程方法1 使用线程工厂创建线程

网友评论

      本文标题:python3创建多线程的几种方法

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