问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python3怎么在一个class中使用多线程

发布网友 发布时间:2022-04-07 11:19

我来回答

2个回答

懂视网 时间:2022-04-07 15:40

多线程类似于同时执行多个不同程序,多线程运行有如下优点:(推荐学习:web前端视频教程)

使用线程可以把占据长时间的程序中的任务放到后台去处理。

用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。

程序的运行速度可能加快。

在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。

每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

每个线程都有他自己的一组CPU寄存器,称为线程的上下文,该上下文反映了线程上次运行该线程的CPU寄存器的状态。

指令指针和堆栈指针寄存器是线程上下文中两个最重要的寄存器,线程总是在进程得到上下文中运行的,这些地址都用于标志拥有线程的进程地址空间中的内存。

线程可以被抢占(中断)。

在其他线程正在运行时,线程可以暂时搁置(也称为睡眠) -- 这就是线程的退让。

线程可以分为:

内核线程:由操作系统内核创建和撤销。

用户线程:不需要内核支持而在用户程序中实现的线程。

Python3 线程中常用的两个模块为:

_thread

threading(推荐使用)

thread 模块已被废弃。用户可以使用 threading 模块代替。所以,在 Python3 中不能再使用"thread" 模块。为了兼容性,Python3 将 thread 重命名为 "_thread"。

开始学习Python线程

Python中使用线程有两种方式:函数或者用类来包装线程对象。

函数式:调用 _thread 模块中的start_new_thread()函数来产生新线程。语法如下:

_thread.start_new_thread ( function, args[, kwargs] )

参数说明:

function - 线程函数。

args - 传递给线程函数的参数,他必须是个tuple类型。

kwargs - 可选参数。

实例:

#!/usr/bin/python3

import _thread
import time

# 为线程定义一个函数
def print_time( threadName, delay):
 count = 0
 while count < 5:
 time.sleep(delay)
 count += 1
 print ("%s: %s" % ( threadName, time.ctime(time.time()) ))

# 创建两个线程
try:
 _thread.start_new_thread( print_time, ("Thread-1", 2, ) )
 _thread.start_new_thread( print_time, ("Thread-2", 4, ) )
except:
 print ("Error: 无法启动线程")

while 1:
 pass

热心网友 时间:2022-04-07 12:48

import threading def fun1(func): func.start() #启动线程2 for i in range(5): print 'x',i func.join() fun2() def fun2(): for i in range(60): print 'y',i tfunc2=threading.Thread(target=fun2) tfunc1=threading.Thread(target=fun1,arg...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
个达尔优破鼠标,请问怎么调才玩着顺 智能4k电视哪个牌子好 鼠标连点怎么破 破鼠标简直气死我了 三星4k电视使用一次光纤接口就坏了,怎么办? 破 鼠标!!是不是所有鼠标 只要稍微一接触不良 就停用 必须重起机子呢... 原装三星液晶屏4k惠普电视机多少钱 2015年欧元对换人民币汇率下滑到多少呢 2015年1月下旬欧元兑人民币汇率还能不能上涨 欧元兑换人民币汇率2015年3月份底会回到7吗? photoshop 中笔刷怎么用 怎样使用PS中的笔刷 机动车销售统一发票 中如何通过 发票代码 查询到公司名称 如何查询机动车销售统一发票真伪查询 如何在PS中加载和使用笔刷 汽车票发票号码代表什么 怎么查机动车销售统一发票的真假 在PS中如何使用笔刷那? 汽车发票编号在哪里 机动车发票怎么查询真伪? 怎样查询车辆发票保险信息 买车购置发票号在那里可以看- 问一问 套索工具怎么抠图移到另一图片上 名下汽车销售发票能查询吗 如何能查到车子的购车发票? 如何用车架号查询车辆发票信息? 信源豆豆钱是真的吗? 豆豆借钱怎么样,靠谱吗 查TSC+TTP-247打印机打印历史记录 打印机把历史打印历史记录打印出来了 但是比如说打印这个图片就不可以了……求解决 iPhone11pro哪些app可以映射到车载上? 我是苹果手机,车载系统是Carlise,可以把手机投射到车载系统可以吗? iPad腾讯会议文档框怎么放大 婴儿的衣服能用大人的洗衣机洗吗 婴儿衣服可以放洗衣机洗吗 华为荣耀x20手机壳和哪个型号通用 婴儿衣服能用洗衣机洗吗 婴儿衣服能用洗衣机洗么? 华为荣耀20青春版与畅享10s手机壳能通用吗? 辽宁税务社保缴费公众号可靠嘛 辽宁地区在辽宁税务公众号上交不了城镇居民医疗保险费用 辽宁社保一月自动扣费2月能公众号交么 辽宁抚顺灵活就业用什么APP缴费 电子发票显示轻阅读是怎么回事? 在辽宁税务公众号上补缴的社保费为什么查还是欠费 单位12号停档,几号才能交上灵活就业保险沈阳 阜新市长安小区小学是哪个学区 python3.x的多线程程序中,while 1: pass 这个语句有什么作用? 佳能2425 打印 歪 电脑跟手机同时上的微信然后我手机打视频电话,电脑会显示出来吗?