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)

相关推荐

  • 如何使用User Agent和代理IP隐藏身份

    技术如何使用User Agent和代理IP隐藏身份这篇文章给大家介绍如何使用User Agent和代理IP隐藏身份,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、为何要设置User Agent

    攻略 2021年10月28日
  • wcf并发模式与实例模式(wcf大量数据缓存)

    技术WCF缓存机制怎么理解这篇文章主要讲解了“WCF缓存机制怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF缓存机制怎么理解”吧!缓存是很占内存的,缓存也有它

    攻略 2021年12月14日
  • oracle18c新特性有哪些

    技术oracle18c新特性有哪些oracle18c新特性有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Oracle宣布Database 18c已

    攻略 2021年11月12日
  • activity与task启动方式(tasker调用activity)

    技术怎么以singleTask的方式来启动SubActivity本篇内容主要讲解“怎么以singleTask的方式来启动SubActivity”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编

    攻略 2021年12月18日
  • Xsheel使用小技巧有哪些

    技术Xsheel使用小技巧有哪些这篇文章将为大家详细讲解有关Xsheel使用小技巧有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。❝ 工作中无可避免的会使用到Xsh

    攻略 2021年11月9日
  • storm技术内幕和大数据实践(storm经典案例分析)

    技术Storm可靠性acker案例分析本篇内容主要讲解“Storm可靠性acker案例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Storm可靠性acker案例分析”吧

    攻略 2021年12月23日