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 @property的用法及含义全面解析
Feb 01 Python
Python比较2个时间大小的实现方法
Apr 10 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
pandas数据集的端到端处理
Feb 18 Python
详解python中eval函数的作用
Oct 22 Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 Python
tensorflow指定CPU与GPU运算的方法实现
Apr 21 Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
Nov 18 Python
python实现文件分片上传的接口自动化
Nov 19 Python
手把手教你用Django执行原生SQL的方法
Feb 18 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 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
FCKeditor添加自定义按钮
2008/03/27 PHP
PHP 循环删除无限分类子节点的实现代码
2013/06/21 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
js加强的经典分页实例
2013/03/15 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
2016/05/16 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
JS+canvas动态绘制饼图的方法示例
2017/09/12 Javascript
详解微信UnionID作用
2019/05/15 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
python集合删除多种方法详解
2020/02/10 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
介绍一下Java中标识符的命名规则
2014/02/03 面试题
技校学生个人职业生涯规划范文
2014/03/03 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
负责人任命书范本
2014/06/04 职场文书
法定代表人授权委托书
2014/09/19 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
2015年双拥工作总结
2015/04/08 职场文书
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
Redis Cluster集群动态扩容的实现
2021/07/15 Redis
Python使用pyecharts控件绘制图表
2022/06/05 Python