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 快速排序代码
Nov 23 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
Apr 08 Python
Python中关于使用模块的基础知识
May 24 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
pandas 根据列的值选取所有行的示例
Nov 07 Python
python求一个字符串的所有排列的实现方法
Feb 04 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
Jun 30 Python
Python爬虫之Selenium下拉框处理的实现
Dec 04 Python
python爬虫基础之urllib的使用
Dec 31 Python
django上传文件的三种方式
Apr 29 Python
python 判断文件或文件夹是否存在
Mar 18 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
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
javascript学习之json入门
2016/12/22 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
调试Django时打印SQL语句的日志代码实例
2019/09/12 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
如何在Win10系统使用Python3连接Hive
2020/10/15 Python
Python中Qslider控件实操详解
2021/02/20 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
企业为何需要商业计划书
2013/12/26 职场文书
英文导游欢迎词
2014/01/11 职场文书
优秀党员主要事迹
2014/01/19 职场文书
万年牢教学反思
2014/02/15 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
货款欠条范本
2015/07/03 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers
MySQL索引失效十种场景与优化方案
2023/05/08 MySQL