Python标准库threading中的Thread类用来创建和管理线程对象,支持使用两种方法来创建线程:

1)直接使用Thread类实例化一个线程对象并传递一个可调用对象作为参数;

2)继承Thread类并在派生类中重写__init__()和run()方法。创建了线程对象以后,可以调用其start()方法来启动,该方法自动调用该类对象的run()方法,此时该线程处于alive状态,直至线程的run()方法运行结束。

下面演示第一种创建线程的方法:

importthreading

defdemo(start, end):

foriinrange(start, end):

print(i)

# 创建线程

t = threading.Thread(target=demo,\

args=(3,6))

# 启动线程

t.start()

运行结果:

3

4

5

下面演示第二种创建线程的方法:

fromthreadingimportThread

classMyThread(Thread):

def__init__(self,\

begin,\

end):

# 调用基类构造方法初始化

Thread.__init__(self)

# 初始化

self.begin = begin

self.end = end

defrun(self):

# 调用线程start()方法运行这里的代码

foriinrange(self.begin,\

self.end):

print(i)

# 创建线程

t = MyThread(3, 6)

# 启动线程

t.start()

运行结果:

3

4

5

python线程创建对象_Python多线程编程基础:如何创建线程?相关推荐

  1. python线程创建对象_python 多线程(一)

    (一) 线程概述 几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程.当一个程序运行时,内部可能包含多个顺序执流,每个顺序执行流就是一个线程. 进程和线程 ...

  2. java 多线程编程(包括创建线程的三种方式、线程的生命周期、线程的调度策略、线程同步、线程通信、线程池、死锁等)

    1 多线程的基础知识 1.1 单核CPU和多核CPU 单核CPU,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程的任务.微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那 ...

  3. python创建线程函数_Python多线程编程(三):threading.Thread类的重要函数和方法...

    这篇文章主要介绍threading模块中的主类Thread的一些主要方法,实例代码如下: 复制代码 代码如下: ''' Created on 2012-9-7 @author:  walfred @m ...

  4. python 线程锁_python多线程编程(3): 使用互斥锁同步线程

    问题的提出 上一节的例子中,每个线程互相独立,相互之间没有任何关系.现在假设这样一个例子:有一个全局的计数num,每个线程获取这个全局的计数,根据num进行一些处理,然后将num加1.很容易写出这样的 ...

  5. python作品阐述_Python网络编程基础的作品鉴赏-

    Python网络编程基础的作品鉴赏 Python网络编佳入门图书!175个完整,实践出真知,SocketsDNS.Web Service.FTP.Email.SMTP.POP.IMAP.SocketS ...

  6. C#多线程编程(1)--线程,线程池和Task

    C#多线程编程(1)--线程,线程池和Task 新开了一个多线程编程系列,该系列主要讲解C#中的多线程编程.    利用多线程的目的有2个: 一是防止UI线程被耗时的程序占用,导致界面卡顿:二是能够利 ...

  7. Java多线程编程-(4)-线程间通信机制的介绍与使用

    上一篇: Java多线程编程-(1)-线程安全和锁Synchronized概念 Java多线程编程-(2)-可重入锁以及Synchronized的其他基本特性 Java多线程编程-(3)-线程本地Th ...

  8. linux线程 ppt,Linux多线程编程多核编程.ppt

    <Linux多线程编程多核编程.ppt>由会员分享,可在线阅读,更多相关<Linux多线程编程多核编程.ppt(28页珍藏版)>请在装配图网上搜索. 1.Linux多线程编程, ...

  9. C++多线程:thread类创建线程的多种方式

    文章目录 描述 函数成员简介 总结 描述 头文件 <thread> 声明方式:std::thread <obj> 简介 线程在构造关联的线程对象时立即开始执行,从提供给作为构造 ...

最新文章

  1. 解决sqlserver1433端口占用问题
  2. 一个不用SD卡,不用livesuit的刷nand的想法
  3. centos下载mysql_python数据分析之路——centos下载并配置mysql与navicat的使用
  4. 《R数据可视化手册》——3.8 绘制百分比堆积条形图
  5. dirent.h使用详解
  6. 最强卸载工具,彻底卸载无残留IObit Uninstaller 9.0.2.40
  7. android安卓手机变身无线网卡,实现“畅无线“电脑版”台式机笔记本通杀!
  8. box-sizing属性介绍
  9. Win7操作系统:请求的操作需要提升
  10. smaba(跨平台文件共享)
  11. Unity Unlit ShaderGraph实现与PBR的自发光贴图类似的叠加效果
  12. 74HC138三八译码器的应用
  13. linux6查看用户密码,linux如何查看所有的用户(user)、用户组(group)、密码(password/passwd)...
  14. python 遗传算法多目标优化_NSGA2 遗传算法解决多目标优化
  15. 遇见你,用尽了我一生的幸运
  16. SQLZOO练习答案(一):SELECT names/zh
  17. 图像处理——图像增强(1)
  18. 高新技术企业认定全攻略
  19. 用VB代码将十进制小数转二进制,也说下vba自动打印
  20. 【CISSP备考】第六章-安全评估与测试

热门文章

  1. Nginx 架构浅析
  2. 华为交换机VLAN Trunk模式设置
  3. 深度学习时代的目标检测算法综述
  4. Android使用Retrofit2.0和RxJava2.0处理网络请求
  5. Git、GitHub、GitLab三者之间的联系以及区别
  6. MySQL 4种text类型的最大长度
  7. Mysql Type中的all和index区别?
  8. 彻底搞清楚map和flatmap
  9. Spring Cloud 与 Dubbo 的完美融合之手「Spring Cloud Alibaba」
  10. leetcode 720. Longest Word in Dictionary | 720. 词典中最长的单词(Trie前缀树)