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 相关文章推荐
Python3基础之list列表实例解析
Aug 13 Python
Python3写入文件常用方法实例分析
May 22 Python
巧用python和libnmapd,提取Nmap扫描结果
Aug 23 Python
Python实现压缩和解压缩ZIP文件的方法分析
Sep 28 Python
Python 使用with上下文实现计时功能
Mar 09 Python
Sanic框架Cookies操作示例
Jul 17 Python
如何利用python制作时间戳转换工具详解
Sep 12 Python
Python线程池模块ThreadPoolExecutor用法分析
Dec 28 Python
Python设计模式之装饰模式实例详解
Jan 21 Python
基于python判断目录或者文件代码实例
Nov 29 Python
Pytorch之view及view_as使用详解
Dec 31 Python
使用keras实现孪生网络中的权值共享教程
Jun 11 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源代码
2006/10/09 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
JS实现自动阅读单词(有道单词本添加功能)
2016/11/14 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
python实现Flappy Bird源码
2018/12/24 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
python实现证件照换底功能
2019/08/20 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
三下乡活动方案
2014/01/31 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
八年级作文之我的母亲
2019/12/10 职场文书