本篇文章给大家带来的内容是关于Python线程下thread对象的用法介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

Thread对象

Thread类用于表示单独的控制线程。

语法:t=Thread(group=None,target=None,name=None,args=(),kwargs={})

创建一个新的Thread实例:t

group:为以后扩张保留的,默认为None

target:一个可调用对象,线程启动时,run()方法将调用此对象

name:线程名称,默认创建一个“Thread-N”格式的唯一名称。

args:传递给target函数的参数元祖

kwargs:传递给target的关机字参数的字典。

常用属性于方法t.start():通过在一个单独的控制线程中调用run(),启动线程,此方法只能被调用一次。

t.run():线程启动时将调用此方法。默认情况下,他会调用目标函数target。还可以在Thread的子类中重新定义此方法。

t.join([timeout]):阻塞线程,等待直到线程终止或者出现超时为止。timeout是以秒为单位的超时时间。

线程启动之前不能调用此方法,否则会报错。

t.is_alive:如果线程是活动的,返回True,否则返回False,从start()返回的那一刻开始,线程就是活动的,

直到run()方法终止为止。

t.name:线程名称,这个字符串用于唯一标识,可以根据需要将它更改为更有意义的值,

t.ident:整数线程标识符,如果线程尚未启动,它的值为None。

t.daemon:如果线程是后台线程,该值为True,否则未False。当不存在任何任何活动的非后台进程时,整个程序会退出。

实例1:利用Thread对象,简单创建一个线程,并启动一个函数

代码:#利用Thread对象,简单创建一个线程,并启动一个函数

from threading import Thread

import time

def mark(interval):

print("循环等待时间时间%d,等待前时间:%s"%(interval,time.ctime()))

time.sleep(interval)

print("等待后的时间:%s"%time.ctime())

if __name__=="__main__":

t=Thread(target=mark,args=(3,))

t.daemon=False#设置为非后台线程,不然会看不到自线程打印效果主线程就直接关闭了

#下面一句会报错,必须在start()方法之后调用

#t.join(3)

t.start()

#下面语句也会报错,因为start只能调用一次

#t.start()

print("end")

结果:

实例2:通过继承Thread,实现线程类

代码:#通过继承Thread,实现线程类

from threading import Thread

import time

class MyThread(Thread):

def __init__(self,interval):

#下面语句用来调用基类方法,必须调用

Thread.__init__(self)

self.daemon=False

self.interval=interval

def run(self):

print("循环等待时间时间%d,等待前时间:%s" % (self.interval, time.ctime()))

time.sleep(self.interval)

print("等待后的时间:%s" % time.ctime())

if __name__=="__main__":

t=MyThread(3)

t.start()

#为了方便查看打印效果,加了一秒延迟

time.sleep(1)

print("end")

结果:

相关推荐:

python多线程之thread的详细介绍

python开发之thread线程基础实例入门

以上就是Python线程下thread对象的用法介绍(附实例)的详细内容,更多请关注Gxl网其它相关文章!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

TAG标签:python

python线程创建对象_Python线程下thread对象的用法介绍(附实例)相关推荐

  1. python线程创建对象_python线程池菜鸟教程

    这篇文章主要为大家详细介绍了python线程池菜鸟教程,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 线程池的概念是什 ...

  2. linux命令 删除alias,Linux下alias命令的用法介绍

    本篇文章给大家带来的内容是关于Linux下alias命令的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 最近在使用ssh连接远程机器敲了类似ssh -i ~/.ssh/13 ...

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

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

  4. python线程创建对象_Python多线程编程基础:如何创建线程?

    Python标准库threading中的Thread类用来创建和管理线程对象,支持使用两种方法来创建线程: 1)直接使用Thread类实例化一个线程对象并传递一个可调用对象作为参数: 2)继承Thre ...

  5. python线程创建对象_Python使用面向对象方式创建线程实现12306售票系统

    目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更 ...

  6. python 判断线程状态_Python线程指南

    Python线程指南 本文介绍了Python对于线程的支持,包括"学会"多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例. 注意:本文基于Python2. ...

  7. python线程状态_Python线程

    1. 线程基础 1.1. 线程状态 线程有5种状态,状态转换的过程如下图所示: 1.2. 线程同步(锁) 多线程的优势在于可以同时运行多个任务(至少感觉起来是这样).但是当线程需要共享数据时,可能存在 ...

  8. python 线程退出_python线程退出

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 如果某线程并未使用很多 io 操作, 它会在自己的时间片内一直占用处理器(和 g ...

  9. python 线程模块_Python线程模块| main_thread()方法与示例

    python 线程模块 Python threading.main_thread()方法 (Python threading.main_thread() Method) main_thread() i ...

最新文章

  1. 把.sql文件上传到服务器上
  2. Debussy的安装
  3. 黄聪:wordpress文章同步发布到网易、天涯、新浪博客、百度空间插件
  4. 1.0 MySQL数据库基础知识
  5. JSP的结构和生命周期
  6. (八)企业部分之nginx+tomcat+memcached负载均衡集群搭建
  7. 谈谈JDK8中的字符串拼接
  8. 计算机专业英语第07章,计算机专业英语电子教案第07章.ppt
  9. php--实现一个简单的学生管理系统
  10. bcm94352屏蔽第20针脚图_10核20线程的性能怪兽 十代酷睿首发评测
  11. 学无止境的 Linux | 龙蜥开发者说第4期
  12. 主键和外键举例_mysql 基础篇之主键和外键
  13. 如何创建控制台应用程序
  14. 4K TEST SEQUENCES 测试视频片段下载
  15. HTML5浏览器兼容性解决方案
  16. 电源管理允许此设备唤醒计算机怎么关掉,电脑如何设置电源管理允许鼠标唤醒计算机...
  17. win10 电脑自带的便签在哪里
  18. android 跑马灯出现重复跳动、不滚动问题
  19. python opencv实现 tiff转raw格式以及扩充体积补零
  20. PMSM学习笔记1——永磁同步电机的工作原理与数学模型

热门文章

  1. 标记注解 java_【java】细说 JAVA中 标注 注解(annotation)
  2. mysql分区、分表学习
  3. Effective Java之避免使用受检的异常(五十九)
  4. 使用wireshark抓包并进行网络协议分析
  5. 洛谷——P1177 【模板】快速排序
  6. 蓝桥杯 试题 基础练习 十六进制转十进制——5行代码AC
  7. 15行代码AC——习题3-3 数数字 (UVa1225,Digit Counting)
  8. stm32 led屏控制卡_室内LED显示屏如何安装?
  9. NoSQL之Redis非关系数据库(redis概述,持久化,RDB持久化,AOF持久,内存碎片)
  10. 操作篇 bgp协议了解与学习