python3创建多线程的几种方法
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 Threadclass MyThread(Thread):def __init__(self, name='Python3'):super().__init__()self.name = namedef 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创建多线程的几种方法相关推荐
- Python创建多线程的三种方法
Python创建多线程的三种方法 thread模块函数式创建线程 继承threading类创建多线程 threading模块函数式创建线程 使用总结 thread模块函数式创建线程 调用thread模 ...
- Qt创建多线程的两种方法
来源:https://github.com/czyt1988/czyBlog/tree/master/tech/QtThread 1.摘要 Qt有两种多线程的方法,其中一种是继承QThread的run ...
- 创建多线程有几种方法?如何创建线程?
多线程有几种实现方法? 多线程实现又3种方法,其中前两中是常用的方法,推荐第二种方法,一个类应该在其修改或者加强是才继承 1.继承Thread类,重写run()方法,实例化该类,调用线程start() ...
- threading模块使用_threading简介(创建多线程的两种方法)★
#####一.什么是threading? **threading是一个创建多线程的库(调用threading库的threading.Thread方法)** **语法为**```threading.Th ...
- 创建多线程的几种方法介绍
目录 线程的概念及单线程多线程区别 创建多线程--继承线程类 创建多线程--实现Runnable接口 创建多线程--匿名类 总结 线程的概念及单线程多线程区别 首先要理解进程(Processor)和线 ...
- Java创建多线程的三种方法
Java多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用ExecutorService.Callable.Future实现有返回结果的多线程.其中前两种方式线程执行完后都没 ...
- java多线程同步的四种方法_java中实现多线程的两种方法
java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...
- 创建线程的七种方法 (图解 全网最全最详细)
本文创建于 2021年5月14日 作者:Xiang 参考文献:创建多线程的四种方法 创建线程的8种方法 创建匿名线程的5种方法 特别鸣谢 文章目录 1.什么是多线程 2.线程状态 3.线程同步方法 4 ...
- java多线程w3c_Java创建多线程的三种方式
前言 这篇文章主要讲述线程的概念.组成.Java创建多线程的三种方式以及线程的类型. 线程概念 线程和进程的区别 **进程:**正在运行的程序,例如:你打开 的qq音乐.exe程序,其由PCB(进程控 ...
最新文章
- QEMU+KVM学习笔记
- Linux中使用export命令设置环境变量
- 怎么修改_PDF怎么修改文字?其实修改PDF内容很简单
- (53)进程结构体EPROCESS,擦除 DebugPort 实现反调试,ActiveProcessLinks 断链实现进程隐藏
- 笔记-项目沟通管理-沟通管理计划
- PHP7新特性 What will be in PHP 7/PHPNG
- JVM 学习四:类加载之双亲委派机制与沙箱安全机制
- 全新互联网四通手机震撼上市
- php工作流如何实现,工作流设计参考(包括PHP实现)
- 十个有趣的“大数据”经典数据挖掘案例
- Exchange2010删除指定账户指定主题邮件
- 电动自行车新国标正式实施 二季度数码市场需求好转
- 个人保研经历以及经验分享
- 带登录CSDN刷博客
- 工具应用——Chrome浏览器 F12控制台中文改成英文
- Android仿微信视频聊天窗口,Android仿微信语音聊天界面设计
- MLIR再深入 —— CodeGen 总结
- Tiled结合Unity实现瓦片地图
- rust拆除拆除指令_Rust 输出到命令行
- 考研数学之线性代数知识点