文档章节

python Thread模块 join方法

小利子
 小利子
发布于 2015/02/17 18:33
字数 249
阅读 78
收藏 0

thread模块有一个join方法,主线程调用的时候是为了等其他线程结束再执行下面的代码.

比较下面的结果可以看出来:

root@VM-131-71-ubuntu:~/python# cat a.py 
import threading
class x(threading.Thread):
    def __init__(self,i):
        self.a=i
	super(x,self).__init__()
    def run(self):
	print self.a
a1=x(1)
a2=x(2)
a3=x(3)
a1.start()    #start会调用run方法
a2.start()
a3.start()
a1.join()      #等a1的run方法执行完,再执行完下面的语句
a2.join()      
a3.join()
print "xx"
root@VM-131-71-ubuntu:~/python# python a.py 
1
2
3
xx
root@VM-131-71-ubuntu:~/python# cat a.py 
import threading
class x(threading.Thread):
    def __init__(self,i):
        self.a=i
	super(x,self).__init__()
    def run(self):
	print self.a
a1=x(1)
a2=x(2)
a3=x(3)
a1.start()
a2.start()
a3.start()
print "xx"
root@VM-131-71-ubuntu:~/python# python a.py 
1
2
xx                                 #xx输出在3前面,说明没有等a3对象的run方法执行完
3

join方法不能在start方法前,想想看,如果join在start前,那么就永远在阻塞了

© 著作权归作者所有

共有 人打赏支持
小利子
粉丝 3
博文 20
码字总数 5788
作品 0
南岸
私信 提问
Python3-多线程使用,就这么简单

  前言      多个任务可以由多个进程完成,也可以由一个进程多个线程来完成。Python2标准库中提供了两个模块支持多线程,thread和threading。其中,threading是对thread的封装,threa...

linux运维菜
11/15
0
0
Python自由之路(三) 多线程处理

今天学习Python的多线程机制,在Python中主要使用Threading 模块,当然也有thread模块,只是这里面的功能比较单一,而Threading 模块是在thread的基础上进行的扩展,就像Python Document 上说...

ysisl222
2009/08/17
0
0
python之并发编程(线程\进程\协程)

一、进程和线程 1.进程 假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作),而此时CPU只能静静地等待任务A读取完数据才能继续执行,这样就白白浪费了CPU资...

菜鸟小于
08/19
0
0
系统--import--sys--多线程--import--thread--queue--

-- --import------import sys 模块---系统相关---------------------------------------------------------------------------- -- --12.1-------------import------import sys 模块---系统相......

liapple6
10/28
0
0
python基本 -- threading多线程模块的使用

python多线程编程,一般使用thread和threading模块。thread模块想对较底层,threading模块对thread模块进行了封装,更便于使用。所有,通常多线程编程使用threading模块。 (一)threading模...

明天以后
2014/08/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

selenium 结合 docker 构建分布式测试环境

随着自动化测试越学越深,深深觉得有太多的东西需要总结。 1.记录下学习中遇到的坑,当做学习笔记。 2.有前人路过看到文章中比较落后的做法,请务必一定要指教。(因为是初学者视角,很多东西...

呐呐丶嘿
11分钟前
1
0
PostgreSQL 安装启动使用一条龙教程——Ubuntu 16.04

今天想尝试下 PostgreSQL,分享一下在 Ubuntu 16.04 下安装启动使用 PostgreSQL 一条龙方法。 添加第三方 apt 仓库: sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/a...

宇润
13分钟前
2
0
对于json文件的读写操作

对json文件的读操作 返回的一个列表,里面是多个字典 def read_json(self,jsonname): with open(r"./{}.json".format(jsonname),"r") as json_f: text_list = json......

鹏灬
15分钟前
2
0
Date-Time API简介

  Date-Time API简介      在Java8之前的版本中,我们处理时间类型常常使用的是java.util包下的Date类。但使用Date类却有诸多的弊端,如: java.util.Date 是非线程安全的,所有的日期...

SEOwhywhy
15分钟前
2
0
实体类生成对应的建表语句

通过实体类生成对应的建表语句 用java代码根据实体类自动生成对应的建表语句或生成某个包下的所有类的建表语句 根据实体类反射生成SQL java 根据实体对象生成 增删改的SQL语句 ModelToSQL...

miaojiangmin
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部