- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
多线程Multithreading
课堂导入进程是程序的一次执行过程,是系统进行资源分配和调度的独立单位电脑中有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的
课堂导入要想使进程中的代码真正运行起来,必须拥有至少一个能够在这个环境中运行代码的执行单元进程是“懒惰”的,本身并不是可执行单元,从来不执行任何任务线程
课堂导入进程的一部分进程的实际运作单位操作系统中最小运算调度单位
课程目标掌握多线程的核心概念及含义实现多线程的模块和方法知识目标学会运用多线程的逻辑思维解决问题使用标准库threading创建和管理线程对象能力目标
多线程的基本概念
多线程的基本概念进程主线程线程1线程2线程3线程4
标准库threading是python支持多线程编程的重要模块
多线程的创建和管理
多线程的创建和管理继续Thread类并在派生类中重写__init__()和run()方法两种方式创建线程标准库threading创建了线程对象以后,可以调用其start()方法来启动,该方法自动调用该类对象的run()方法,此时该线程处于alive状态,直到线程的run()方法结束运行直接使用Thread类实例化一个线程对象并传递一个可调用对象作为参数
多线程的创建和管理Threading主要对象成员函数和变量__init__(self,group=None,target=None,name=None,args=(),kwargs=None,verbose=None)该线程要调用的函数
多线程的创建和管理Threading主要对象成员函数和变量__init__(self,group=None,target=None,name=None,args=(),kwargs=None,verbose=None)该线程的名字如果不指定默认为“Thread-N”(N为一个十进制数)
多线程的创建和管理Threading主要对象成员函数和变量__init__(self,group=None,target=None,name=None,args=(),kwargs=None,verbose=None)Target(调用函数)的参数形式为元组
多线程的创建和管理Threading主要对象成员函数和变量__init__(self,group=None,target=None,name=None,args=(),kwargs=None,verbose=None)以字典形式向target传入参数参数名为字典的key参数值为key对应的value
多线程的实际应用
多线程的应用举例一个线程对象并传递一个可调用对象作为参数运行结果方法一直接使用Thread类实例化两个线程一个进程中的线程是并发执行的,两个线程交替输出
多线程的应用举例添加join方法,强制要求等待t1执行结束或者等待5秒(按照先出现的情况)再执行下面的句子运行结果改进
多线程的应用举例在派生类中重写__init__()和run()方法运行结果方法二继续Thread类
课程总结多线程的创建使程序的响应速度更快,因为用户界面可以在进行其它工作的同时一直处于活动状态当前没有进行处理的任务时可以将处理器时间让给其它任务多线程Multithreading进程和线程的关系线程的基础概念标准库的创建方法直接创建线程继承派生线程
您可能关注的文档
- 《Python程序设计》试卷及答案 共3套.doc
- 《Python程序设计》试卷及答案 A试卷 .doc
- 《Python程序设计》试卷及答案 B试卷 .doc
- 《Python程序设计》试卷及答案 C试卷 .doc
- 《Python程序设计》 A试卷.doc
- 《Python程序设计》B试卷.doc
- 《Python程序设计》C试卷.doc
- 《Python程序设计》试卷A答案.docx
- 《Python程序设计》试卷B答案.doc
- 《Python程序设计》试卷C答案.docx
- 《Python网络渗透编程》 课件 3.1 DNS解析.pptx
- 《Python网络渗透编程》 课件 3.2 基于ICMP的主机发现.pptx
- 《Python网络渗透编程》 课件 3.3 基于TCP和UDP的主机发现.pptx
- 《Python网络渗透编程》 课件 3.4 探测目标端口.pptx
- 《Python网络渗透编程》 课件 3.5 服务类型识别.pptx
- 《Python网络渗透编程》 课件 3.6 操作系统类型识别.pptx
- 《Python网络渗透编程》 课件 4.1 base64编解码脚本的编写.pptx
- 《Python网络渗透编程》 课件 4.2 DES加解密脚本的编写.pptx
- 《Python网络渗透编程》 课件 4.3 MD5加解密脚本的编写.pptx
- 《Python网络渗透编程》 课件 5.1 生成口令字典脚本的编写.pptx
文档评论(0)