python中threading超线程用法实例分析


Posted in Python onMay 16, 2015

本文实例讲述了python中threading超线程用法。分享给大家供大家参考。具体分析如下:

threading基于Java的线程模型设计。锁(Lock)和条件变量(Condition)在Java中是对象的基本行为(每一个对象都自带了锁和条件变量),而在Python中则是独立的对象。Python Thread提供了Java Thread的行为的子集;没有优先级、线程组,线程也不能被停止、暂停、恢复、中断。Java Thread中的部分被Python实现了的静态方法在threading中以模块方法的形式提供。

threading 模块提供的常用方法:

threading.currentThread(): 返回当前的线程变量。
threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。
threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。

threading模块提供的类:

Thread, Lock, Rlock, Condition, [Bounded]Semaphore, Event, Timer, local.

Thread是线程类,与Java类似,有两种使用方法,直接传入要运行的方法或从Thread继承并覆盖run():

# encoding: UTF-8
import threading
# 方法1:将要执行的方法作为参数传给Thread的构造方法
def func():
  print 'func() passed to Thread'
t = threading.Thread(target=func)
t.start()
# 方法2:从Thread继承,并重写run()
class MyThread(threading.Thread):
  def run(self):
    print 'MyThread extended from Thread'
t = MyThread()
t.start()

构造方法:

Thread(group=None, target=None, name=None, args=(), kwargs={})
group: 线程组,目前还没有实现,库引用中提示必须是None;
target: 要执行的方法;
name: 线程名;
args/kwargs: 要传入方法的参数。

实例方法:

isAlive(): 返回线程是否在运行。正在运行指启动后、终止前。
get/setName(name): 获取/设置线程名。
is/setDaemon(bool): 获取/设置是否守护线程。初始值从创建该线程的线程继承。当没有非守护线程仍在运行时,程序将终止。
start(): 启动线程。
join([timeout]): 阻塞当前上下文环境的线程,直到调用此方法的线程终止或到达指定的timeout(可选参数)。

一个使用join()的例子:

# encoding: UTF-8
import threading
import time
def context(tJoin):
  print 'in threadContext.'
  tJoin.start()
  # 将阻塞tContext直到threadJoin终止。
  tJoin.join()
  # tJoin终止后继续执行。
  print 'out threadContext.'
def join():
  print 'in threadJoin.'
  time.sleep(1)
  print 'out threadJoin.'
tJoin = threading.Thread(target=join)
tContext = threading.Thread(target=context, args=(tJoin,))
tContext.start()

运行结果:

in threadContext.
in threadJoin.
out threadJoin.
out threadContext.

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python实现的AES双向对称加密解密与用法分析
May 02 Python
python用pickle模块实现“增删改查”的简易功能
Jun 07 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
Jul 22 Python
Python语言描述机器学习之Logistic回归算法
Dec 21 Python
Python代码块批量添加Tab缩进的方法
Jun 25 Python
Python Pillow Image Invert
Jan 22 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
python循环嵌套的多种使用方法解析
Nov 29 Python
什么是python的列表推导式
May 26 Python
浅谈PyTorch中in-place operation的含义
Jun 27 Python
python打开文件的方式有哪些
Jun 29 Python
Django3中的自定义用户模型实例详解
Aug 23 Python
python实现合并两个数组的方法
May 16 #Python
python简单实现基数排序算法
May 16 #Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
May 16 #Python
python中循环语句while用法实例
May 16 #Python
pymongo实现多结果进行多列排序的方法
May 16 #Python
python使用线程封装的一个简单定时器类实例
May 16 #Python
python通过函数属性实现全局变量的方法
May 16 #Python
You might like
php的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
ini_set的用法介绍
2014/01/07 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
php版微信数据统计接口用法示例
2016/10/12 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
JSON字符串和JSON对象相互转化实例详解
2017/01/05 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
浅谈JS和jQuery的区别
2019/03/27 jQuery
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
代码分析Python地图坐标转换
2018/02/08 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
印度低票价航空公司:GoAir
2017/10/11 全球购物
工商管理应届生求职信
2013/10/07 职场文书
一年级班主任感言
2014/03/08 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
2016教师节问候语
2015/11/10 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书