python多线程实现方式_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知识,可以到python学习网进行查询。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux查看磁盘占用

df -h比如是/data很满cd /datadu -sh *就可以看出哪个文件夹大,重复上面一步即可转载于:https://www.cnblogs.com/fenle/p/4381236.html

上下伸缩代码_CQRS之旅——旅程4(扩展和增强订单和注册限界上下文)

旅程4:扩展和增强订单和注册限界上下文进一步探索订单和注册的有界上下文。“我明白,如果一个人想看些新鲜的东西,旅行并不是没有意义的。”儒勒凡尔纳,环游世界80天对限界上下文的更改:前一章详细描述了订单和注册限界…

LeetCode 1879. 两个数组最小的异或值之和(状态压缩DP)

文章目录1. 题目2. 解题2.1 回溯2.2 状态压缩DP1. 题目 给你两个整数数组 nums1 和 nums2 ,它们长度都为 n 。 两个数组的 异或值之和 为 (nums1[0] XOR nums2[0]) (nums1[1] XOR nums2[1]) ... (nums1[n - 1] XOR nums2[n - 1]) (下标从 0 开始&am…

二叉排序树的后序遍历序列必然是递增的_剑指offer 33——二叉搜索树的后序遍历序列...

本题主要在于考察对二叉搜索树和后序遍历的理解。原题输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树:5 / 2 6…

LeetCode 1880. 检查某单词是否等于两单词之和

文章目录1. 题目2. 解题1. 题目 字母的 字母值 取决于字母在字母表中的位置,从 0 开始 计数。即,a -> 0、b -> 1、c -> 2,以此类推。 对某个由小写字母组成的字符串 s 而言,其 数值 就等于将 s 中每个字母的 字母值 按…

python求矩阵的秩_Python 实现线性代数计算器

计算逆序数,运用O(N^2)的算法计算# 逆序数计算def reversePairs(nums):"""计算数组的逆序数,输入数组,返回逆序数"""res, n 0, len(nums)for i in range(1,n):for j in range(0,i):if nums[j]>nums[i]:res …

查询去除空值_SQL数据处理(五):SQL多表查询

一. 表的加法加法(union)。合并两张数据表course和course1/去除重复行重合【select 课程号,课程名称 from course union select 课程号,课程名称 from course1;】 输出结果两个表合并的数据若要保留重复的行数据(union all)【select 课程号,课程名称 from course union all sel…

WPS Office文档未保存怎么恢复

有时候用WPS Office时,文档还没保存,因为电脑卡死或者关机,再次打开时编辑的内容都不见了,这个时候可以利用WPS自带的备份功能来恢复文档,表格、幻灯片、文档都是可以的。 首先单击WPS左上角的按钮,选择&qu…

LeetCode 664. 奇怪的打印机(区间DP)

文章目录1. 题目2. 解题1. 题目 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同一个字符 组成的序列。每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。 给你一个字符串 s ,你的任务是计算这个打印机…

程序闪退怎么运行_苹果应用程序崩溃闪退怎么办?如何解决苹果设备的软故障?...

你们在使用苹果设备的时候是不是经常遇到程序卡死,或者苹果设备假死的情况?如果您遇到程序崩溃闪退或报错的时候,请不要慌张,按照以下方法解决问题。苹果设备它是应用程序问题还是设备故障?首先,您必须弄清…

lxrun不是内部或外部命令_在Win10 安装 WSL的Linux子系统,解决cmd中执行lxrun时提示“不是内部或外部命令”...

Win10 安装Linux子系统原理就是安装一个(Linux系统的)应用程序。使用应用程序一般的使用Linux子系统,非常方便。第一步:启用开发者模式启用开发者模式,其实很简单,本人参考的是该文章:手把手教你…

LeetCode 1886. 判断矩阵经轮转后是否一致

文章目录1. 题目2. 解题1. 题目 给你两个大小为 n x n 的二进制矩阵 mat 和 target 。 现 以 90 度顺时针轮转 矩阵 mat 中的元素 若干次 ,如果能够使 mat 与 target 一致,返回 true ; 否则,返回 false 。 示例 1: …

ggplot2中显示坐标轴_qplot()——ggplot2的快速绘图

先前写过几篇用ggplot2进行基本绘图的文章,但对于初学者,或只需绘制简单图形时,这些命令显得繁琐,这里介绍ggplot2中的快速绘图函数qplot(). 此函数相对能较快速便捷地绘制图形。往期文章:张光耀:ggplot2数…

python清洗文本数据_02.数据预处理之清洗文本信息

准备30万条新闻数据编号新闻类别新闻数量(条)1财经370982教育419633科技655344时政630865体育655346娱乐65534yield生成器斐波那契数列介绍和数学描述斐波那契数列算法实现斐波那契数列算法生成器实现算法时间性能对比分析# codingutf-8"""Description&#xff…

学习思考 耐得寂寞 拥得繁华

要么读书,要么旅行,身体和灵魂,必须有一个在路上。 生活不可能像想象得那么好,但也不会像想象得那么糟。我觉得人的脆弱和坚强都超乎自己的想象。有时,我可能脆弱得一句话就泪流满面,有时,也发现…

python比较时间的最大值_时间戳的最大值

我在用3.6.1 |Continuum Analytics, Inc.| (default, May 11 2017, 13:09:58) \n[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]在Windows10机器上运行的Ubuntu16.04VM中。在我把你的ctime调用分解到它的各个部分,去调查,但是我没有达到同样的最大值。在>&g…

LeetCode 879. 盈利计划(动态规划)

文章目录1. 题目2. 解题1. 题目 集团里有 n 名员工,他们可以完成各种各样的工作创造利润。 第 i 种工作会产生 profit[i] 的利润,它要求 group[i] 名成员共同参与。如果成员参与了其中一项工作,就不能参与另一项工作。 工作的任何至少产生…

【Unity】对象池技术

【Unity】对象池技术 1.简介 对象池(Object Pooling)技术是一种用于优化游戏性能和内存管理的技术。 对象池可以用于各种需要频繁实例化和销毁游戏对象的场景,例如子弹、敌人、玩家等。其主要目标是减少频繁的内存分配和垃圾回收的次数&…

正则邮箱_自己写一个通用的邮箱正则表达式

今天把正则又复习了一遍,为了加深记忆,自己写一个邮箱的正则表达式咱们先来看几个合法的邮箱地址hd33322nat123.commaksim.kim.82d-link.uavova_lazarev1969jaagers.comb4-service.szhaopinmail.com通过观察上面几个例子,不难看出所有邮箱地址…

[css][移动设备]禁止横竖屏时内容自动调整

参考:http://www.kankanews.com/ICkengine/archives/106643.shtml iOS下当竖屏转向横屏的时候,发现内容字体会自动变大,通过各种方法设置字体大小都失败了。 需要在body中设置如下: text-size-adjust: none;-ms-text-size-adjust…