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分割TXT文件成4K的TXT文件
May 23 Python
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
Mar 13 Python
详解Python中with语句的用法
Apr 15 Python
Python sqlite3事务处理方法实例分析
Jun 19 Python
Python 学习教程之networkx
Apr 15 Python
Python网络爬虫之爬取微博热搜
Apr 18 Python
selenium+python环境配置教程详解
May 28 Python
如何使用Python实现自动化水军评论
Jun 26 Python
Python批量修改图片分辨率的实例代码
Jul 04 Python
Python随机函数库random的使用方法详解
Aug 21 Python
Python3 JSON编码解码方法详解
Sep 06 Python
Python安装OpenCV的示例代码
Mar 05 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下统计用户在线时间的一种尝试
2010/08/26 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
自己的js工具 Event封装
2009/08/21 Javascript
brook javascript框架介绍
2011/10/10 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
[11:44]Ti9 OG夺冠时刻
2019/08/25 DOTA
对Python信号处理模块signal详解
2019/01/09 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
logging level级别介绍
2020/02/21 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
python下载的库包存放路径
2020/07/27 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
EJB的几种类型
2012/08/15 面试题
土木工程专业个人求职信
2013/12/05 职场文书
学习型班组申报材料
2014/05/31 职场文书
员工团队活动方案
2014/08/28 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
任长霞观后感
2015/06/16 职场文书
回复函范文
2015/07/14 职场文书
仓库管理制度范本
2015/08/04 职场文书