python实现多线程有几种方式(python中实现多线程的方法)

技术如何进行Python线程的多线程展示如何进行Python线程的多线程展示,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。什么多线程?多线程,就是多个独

如何演示Python线程的多线程,针对这个问题,本文详细介绍了相应的分析和解答,希望能帮助更多想要解决这个问题的小伙伴找到更简单更容易的方法。

00-1010多线程意味着多个独立运行的单元同时执行同一件事。

好好想想。文章发表后,同时被很多读者阅读。这些读者在做什么‘阅读’是一条一条的线索。

多线程意味着多个读者可以同时阅读这篇文章。重点是:有很多读者同时在做阅读。

如果有多个读者,在不同的时间阅读,在任何最后时刻只有一个读者在阅读,虽然有多个读者,但仍然是一个单线程。

让我们来看看之前分享的代码:关注和赞美。

defdianzan _ guanju():

now=datetime.datetime.now()

名称='蟒蛇孟新'

打印(' %sname:%s'%(现在,名称))

睡眠时间(1)

结果=“太好了!”名字‘关注雷学委,学习发展知识!’

打印(' %sresult:%s'%(现在,结果))

返回我们看看下面的代码:结果

#!/usr/bin/envpython

#-*-coding:utf-8-*-

# @时间:2021/11/2112:02上午

# @ author :雷雪薇

# @ CSDN/金爵/微信:雷雪委员会

# @学车:编码演示

#@File:__init__.py.py

#@Project:hello

导入线程

importdatetime

进口时间

defdianzan _ guanju():

now=datetime.datetime.now()

名称='蟒蛇孟新'

打印(' %sname:%s'%(现在,名称))

睡眠时间(1)

结果=“太好了!”名字‘关注雷学委,学习发展知识!’

打印(' %sresult:%s'%(现在,结果))

返回结果

foriirange(3):

mythread=线程。Thread(name='t-' str(i),target=dianzan_guanzhu)

print('mythread: ',mythread)

print('is_alive: ',mythread.is_alive())

流言蜚语

.start()
    print("is_alive:", mythread.is_alive())

Thread类可以传入name指定线程名字。

直接复制运行,这里我们创建了3个线程。

它们依次调用了dianzan_guanzhu函数

下面是运行结果:

如何进行Python线程的多线程展示

这3个线程不同时间打印完成了,但是内容打印乱序了,甚至还串行了。

读者同学可以多运行几次。

获取活跃线程相关数据

  • threading.active_count函数: 可以获取活跃线程数。

  • threading.current_thread函数:可以获取活跃线程对象,这样我们可以获取这样获取线程名称:threading.current_thread().getName()。

前文说过了,加上主线程,一共是4个线程。

运行下面代码看看:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/21 12:02 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : __init__.py.py
# @Project : hello
import random
import threading
import datetime
import time
def dianzan_guanzhu():
    thread_name = threading.current_thread().getName()
    now = datetime.datetime.now()
    print("线程启动了:", thread_name)
    name = "python萌新"+thread_name
    print("%s - %s name:%s" % (thread_name, now, name))
    time.sleep(1)
    result = "好棒!" + name + " 关注雷学委,学会了开发知识!"
    print("%s - %s result:%s" % (thread_name, now, result))
    return result
for i in range(3):
    mythread = threading.Thread(name="t-" + str(i), target=dianzan_guanzhu)
    print("mythread:", mythread)
    print("is_alive:", mythread.is_alive())
    mythread.start()
    ac = threading.active_count()
    print("active_count:", ac)

如果我们把活跃线程数打印,那么等3个线程都start调用了。

加上主线程,最多是4个活跃线程。

如何进行Python线程的多线程展示

今天先展示一下多个线程执行同个任务的代码实现。

关于如何进行Python线程的多线程展示问题的解答就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/147377.html

(0)

相关推荐

  • javascript 中string是不是对象

    技术javascript 中string是不是对象这篇文章主要介绍了javascript 中string是不是对象,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解

    攻略 2021年11月18日
  • 学Python要避免哪些坑

    技术学Python要避免哪些坑学Python要避免哪些坑,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。学Python要避免哪些坑?零基础怎么入门Pyth

    攻略 2021年12月4日
  • Springboot如何获取上下文ApplicationContext

    技术Springboot如何获取上下文ApplicationContext本篇文章给大家分享的是有关Springboot如何获取上下文ApplicationContext,小编觉得挺实用的,因此分享给大家学习,希望大家阅

    攻略 2021年11月25日
  • Redis与数据库数据一致性的示例分析

    技术Redis与数据库数据一致性的示例分析这期内容当中小编将会给大家带来有关Redis与数据库数据一致性的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 可能谈到保持R

    攻略 2021年12月1日
  • Vue动态绑定类时要如何避免出现空类情况

    技术Vue动态绑定类时要如何避免出现空类情况这篇文章主要为大家展示了“Vue动态绑定类时要如何避免出现空类情况”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue动态绑定类时

    攻略 2021年12月9日
  • Python中数据结构list怎么用

    技术Python中数据结构list怎么用这篇文章给大家分享的是有关Python中数据结构list怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。list是一种有序可重复的集合,可以随时添加

    攻略 2021年11月24日