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)

相关推荐

  • db_load如何生成数据库文件

    技术db_load如何生成数据库文件这篇文章主要介绍 db_load如何生成数据库文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!保存虚拟帐号和密码的文本文件无法被系统帐号直接调用。我们需要使用

    攻略 2021年11月23日
  • 如何使用asp连接Mysql

    技术如何使用asp连接Mysql这篇文章主要介绍了如何使用asp连接Mysql,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ASP连接Mysql数据库的问

    攻略 2021年11月1日
  • sharepoint server 2016 解决升级补丁kb3141515后提示错误怎么办

    技术sharepoint server 2016 解决升级补丁kb3141515后提示错误怎么办这篇文章主要介绍了sharepoint server 2016 解决升级补丁kb3141515后提示错误怎么办,具有一定借鉴

    攻略 2021年11月24日
  • Java程序最容易犯的错误有哪些呢

    技术Java程序最容易犯的错误有哪些呢今天就跟大家聊聊有关Java程序最容易犯的错误有哪些呢,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  1.Duplicat

    攻略 2021年11月16日
  • 自动生成makefile并编译步骤(makefile实现模块化编译)

    技术GNU automake自动生成Makefile的方法及案例分析今天就跟大家聊聊有关GNU automake自动生成Makefile的方法及案例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容

    攻略 2021年12月23日
  • 一个动态波浪纹Android界面

    技术一个动态波浪纹Android界面 一个动态波浪纹Android界面IndexActivity.javapackage com.example.rubikrobot;import androidx.a

    礼包 2021年11月12日