- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
12__python-线程编程
////根标题=Python程序设计与应用实战
////主标题=线程编程
////作者=张勇
////地址1=电子科技大学~~数学科学学院
////地址2=
////地址3=
////标题缩减级别=1
1 Python多线程学习(一、线程的使用) 1
1.1 Python中的线程使用 1
1.1.1 函数式 2
1.2 创建threading.Thread的子类来包装一个线程对象 2
1.2.1 threading.Thread类的使用 3
1.3 线程同步 4
1.4 线程优先级队列(Queue) 6
1.5 thread对象中的一些方法 8
1.5.1 join方法 8
1.5.2 setDaemon()方法 9
1.5.3 isAlive方法 10
1.5.4 线程名 11
1.6 线程同步 11
1.6.1 简单的线程同步 12
1.6.2 使用条件变量保持线程同步 13
1.6.3 使用队列保持线程同步 14
Python多线程学习
Python中的线程使用
Python中使用线程有两种方式:函数或者用类来包装线程对象。
多线程类似于同时执行多个不同程序多线程运行有如下优点:
使用线程可以把占据长时间的程序中的任务放到后台去处理。
用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度
程序的运行速度可能加快
在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
每个线程都有他自己的一组CPU寄存器,称为线程的上下文,该上下文反映了线程上次运行该线程的CPU寄存器的状态。
指令指针和堆栈指针寄存器是线程上下文中两个最重要的寄存器,线程总是在进程得到上下文中运行的,这些地址都用于标志拥有线程的进程地址空间中的内存。
线程可以被抢占(中断)。
在其他线程正在运行时,线程可以暂时搁置(也称为睡眠) -- 这就是线程的退让。
[python] view plaincopy
import time
import thread
def timer(no, interval):
cnt = 0
while cnt10:
print Thread:(%d) Time:%s/n%(no, time.ctime())
time.sleep(interval)
cnt+=1
thread.exit_thread()
def test(): #Use thread.start_new_thread() to create 2 new threads
thread.start_new_thread(timer, (1,1))
thread.start_new_thread(timer, (2,2))
if __name__==__main__:
test()
上面的例子定义了一个线程函数timer,它打印出10条时间记录后退出,每次打印的间隔由interval参数决定。thread.start_new_thread(function, args[, kwargs])的第一个参数是线程函数(本例中的timer方法),第二个参数是传递给线程函数的参数,它必须是tuple类型,kwargs是可选参数。
线程的结束可以等待线程自然结束,也可以在线程函数中调用thread.exit()或thread.exit_thread()方法。
创建threading.Thread的子类来包装一个线程对象
如下例:
import threading
import time
class timer(threading.Thread): #The timer class is derived from the class threading.Thread
def __init__(self, num, interval):
threading.Thread.__init__(self)
self.thread_num = num
self.interval = interval
self.thread_stop = Fa
您可能关注的文档
- 光伏并网发电对电网的影响.doc
- 入场词各队伍说明.docx
- 全国中等职业学校学生学籍管理办法.docx
- 全国大纲课外积累词汇选集.docx
- 全国著名教育专家云南省中小学优质课教学成果观摩会心得体会.doc
- 全国银奖优秀数学小论文抽水马桶的节水实验(杭州师范大学第一附属小学).doc
- 八年级下期历史教学案第5课《先进模范人物的涌现》2.doc
- 八年级地理上册第三章第二节土地资源教学设计.doc
- 八年级语文下第四单元教学计划.doc
- 八水润长安-潏河治理.doc
- 人教版数学一年级下册81 100以内数的认识和加减法 核心素养教案.pdf
- 人教版数学一年级下册教案.pdf
- 高中语文2024届高考复习常考成语(含高考真题举例)(按字母顺序编排).pdf
- 高级工考试题库.pdf
- ETF市场扫描与策略跟踪:申报6只中证800自由现金流ETF-250316.pdf
- 【另类资产观察】2025年第5期总第120期:REITs或震荡,可转债可采用高价%2b低价策略组合-250316.pdf
- 【宏观快评】3月FOMC会议点评:如何理解美联储进一步放缓缩表?-250320.pdf
- “重估牛”系列报告之二十二:短期再平衡,继续关注景气与季报因子-250316.pdf
- 2025年1-2月统计局房地产行业数据点评:销售延续止跌回稳趋势,新开工仍在低位运行-250318.pdf
- 【华福固收】如何看待提振消费-250321.pdf
最近下载
- 《城镇道路工程施工与质量验收规范》CJJ1-2008.docx VIP
- 2025年郑州铁路职业技术学院单招职业倾向性测试题库(夺冠系列).docx VIP
- 6RA80操作说明.pdf
- YS/T 1160-2016_工业硅粉定量相分析 二氧化硅含量的测定 X射线衍射K值法.pdf
- 以社区服务铸牢中华民族共同体意识的实践与思考.docx VIP
- 最完整平面设计费价目表.pdf
- 缅怀先烈主题班会优质课件.ppt
- 2025年美丽中国第六届全国国家版图知识竞赛题库及答案(中小学组).docx VIP
- 小学数学新人教版一年级下册第五单元《100以内的笔算加、减法》教案(2025春).doc
- 2025年郑州软件职业技术学院单招职业技能测试题库(夺冠系列).docx VIP
文档评论(0)