Python多线程编程简单介绍


Posted in Python onApril 13, 2015

创建线程

格式如下

threading.Thread(group=None, target=None, name=None, args=(), kwargs={})

这个构造器必须用关键字传参调用
- group 线程组
- target 执行方法
- name 线程名字
- args target执行的元组参数
- kwargs target执行的字典参数

Thread对象函数

函数 描述
start() 开始线程的执行
run() 定义线程的功能的函数(一般会被子类重写)
join(timeout=None) 程序挂起,直到线程结束;如果给了 timeout,则最多阻塞 timeout 秒
getName() 返回线程的名字
setName(name) 设置线程的名字
isAlive() 布尔标志,表示这个线程是否还在运行中
isDaemon() 返回线程的 daemon 标志
setDaemon(daemonic) 把线程的 daemon 标志设为 daemonic(一定要在调用 start()函数前调用)

常用示例

格式

import threading
def run(*arg, **karg):

    pass

thread = threading.Thread(target = run, name = "default", args = (), kwargs = {})

thread.start()

实例
#!/usr/bin/python

#coding=utf-8
import threading

from time import ctime,sleep
def sing(*arg):

    print "sing start: ", arg

    sleep(1)

    print "sing stop"


def dance(*arg):

    print "dance start: ", arg

    sleep(1)

    print "dance stop"
threads = []
#创建线程对象

t1 = threading.Thread(target = sing, name = 'singThread', args = ('raise me up',))

threads.append(t1)
t2 = threading.Thread(target = dance, name = 'danceThread', args = ('Rup',))

threads.append(t2)
#开始线程

t1.start()

t2.start()
#等待线程结束

for t in threads:

    t.join()
print "game over"

输出
sing start:  ('raise me up',)

dance start:  ('Rup',)

sing stop

dance stop

game over
Python 相关文章推荐
Python循环语句之break与continue的用法
Oct 14 Python
Python实现的快速排序算法详解
Aug 01 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
Python配置虚拟环境图文步骤
May 20 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
python路径的写法及目录的获取方式
Dec 26 Python
Flask 上传自定义头像的实例详解
Jan 09 Python
Python定义一个函数的方法
Jun 15 Python
python实现猜数游戏(保存游戏记录)
Jun 22 Python
python字典的值可以修改吗
Jun 29 Python
Python 中的单分派泛函数你真的了解吗
Jun 22 Python
Python PIL按比例裁剪图片
May 11 Python
Python中的面向对象编程详解(下)
Apr 13 #Python
简单介绍利用TK在Python下进行GUI编程的教程
Apr 13 #Python
Python中的面向对象编程详解(上)
Apr 13 #Python
进一步理解Python中的函数编程
Apr 13 #Python
Python中的异常处理简明介绍
Apr 13 #Python
python中的装饰器详解
Apr 13 #Python
Python生成器(Generator)详解
Apr 13 #Python
You might like
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
PHP实现的同步推荐操作API接口案例分析
2016/11/30 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
vue mounted组件的使用
2018/06/18 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
python实现忽略大小写对字符串列表排序的方法
2014/09/25 Python
Django中几种重定向方法
2015/04/28 Python
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
python利用正则表达式提取字符串
2016/12/08 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
中文师范生自荐信
2014/01/30 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
生产助理岗位职责
2014/06/18 职场文书
2015届大学生就业推荐表自我评价
2014/09/27 职场文书
师德师风整改措施
2014/10/24 职场文书
专家推荐信怎么写
2015/03/25 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
检讨书怎么写?
2019/06/21 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
python中取整数的几种方法
2021/11/07 Python
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis