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 多进程通信模块的简单实现
Feb 20 Python
使用Python获取并处理IP的类型及格式方法
Nov 01 Python
CentOS 7下安装Python3.6 及遇到的问题小结
Nov 08 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
Python读取stdin方法实例
May 24 Python
python如何将多个PDF进行合并
Aug 13 Python
python 串口读取+存储+输出处理实例
Dec 26 Python
JupyterNotebook 输出窗口的显示效果调整方法
Apr 13 Python
Python常见反爬虫机制解决方案
Jun 01 Python
Java爬虫技术框架之Heritrix框架详解
Jul 22 Python
python 字符串格式化的示例
Sep 21 Python
python3.9之你应该知道的新特性详解
Apr 29 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函数utf8转gb2312编码
2006/12/21 PHP
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
PHP获取访问页面HTTP状态码的实现代码
2016/11/03 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
jQuery中:gt选择器用法实例
2014/12/29 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
Python实现简单HTML表格解析的方法
2015/06/15 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
销售文员的岗位职责
2013/11/20 职场文书
祖国在我心中演讲稿
2014/01/15 职场文书
三八节主持词
2014/03/17 职场文书
委托书范本
2014/09/13 职场文书
转正申请报告格式
2015/05/15 职场文书
法人代表资格证明书
2015/06/18 职场文书
《失物招领》教学反思
2016/02/20 职场文书
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js