Python多线程中的join函数的使用与含义
2016-05-12 19:03
330 查看
join函数用的有几种,这里介绍的是在线程,进程处的使用规则。
简单的含义如下:
A 线程正在运行,当B线程进行Join操作后,A线程会被阻断,进入等待队列。
B线程执行,当B线程执行完毕后,B线程的资源收回,A线程进去执行队列。
A线程继续进行执行。
例子代码:
__author__ = '杨鑫'
import threading, time
def doWaiting1():
print ('start waiting1:' + time.strftime('%H:%M:%S') + '\n')
time.sleep(3)
print ('stop waiting1:' + time.strftime('%H:%M:%S') + '\n')
def doWaiting2():
print ('start waiting2:' + time.strftime('%H:%M:%S') + '\n')
time.sleep(8)
print ('stop waiting2:' + time.strftime('%H:%M:%S') + '\n')
task = []
thread1 = threading.Thread(target=doWaiting1)
thread1.start()
task.append(thread1)
thread2 = threading.Thread(target=doWaiting2)
thread2.start()
task.append(thread2)
print ('start join:' + time.strftime('%H:%M:%S') + '\n')
for t in task:
t.join()
print ('end join:' + time.strftime('%H:%M:%S') + '\n')
简单的含义如下:
A 线程正在运行,当B线程进行Join操作后,A线程会被阻断,进入等待队列。
B线程执行,当B线程执行完毕后,B线程的资源收回,A线程进去执行队列。
A线程继续进行执行。
例子代码:
__author__ = '杨鑫'
import threading, time
def doWaiting1():
print ('start waiting1:' + time.strftime('%H:%M:%S') + '\n')
time.sleep(3)
print ('stop waiting1:' + time.strftime('%H:%M:%S') + '\n')
def doWaiting2():
print ('start waiting2:' + time.strftime('%H:%M:%S') + '\n')
time.sleep(8)
print ('stop waiting2:' + time.strftime('%H:%M:%S') + '\n')
task = []
thread1 = threading.Thread(target=doWaiting1)
thread1.start()
task.append(thread1)
thread2 = threading.Thread(target=doWaiting2)
thread2.start()
task.append(thread2)
print ('start join:' + time.strftime('%H:%M:%S') + '\n')
for t in task:
t.join()
print ('end join:' + time.strftime('%H:%M:%S') + '\n')
相关文章推荐
- 利用Python实现简单的相似图片搜索的教程
- DataNitro: 用Python高效处理Excel数据
- python pickle模块
- Python学习总结一:环境搭建及基本使用
- python并发编程之多进程、多线程、异步和协程
- 文章标题
- Python的lambda匿名函数
- Python3发送post请求,自动记住cookie
- 【python】python中的字符串及其格式化
- Python基础学习笔记3 - list 和 str 的区别,转化,list解析
- python中if __name__ == '__main__': 的解析
- python中lock和rlock(递归锁)的区别
- python socket编程
- python里面的dict和set
- 【python学习笔记】随记
- python -nltk
- python 类实例方法,类方法和类静态方法的区别
- python基于dlib的face landmarks
- python里面的循环语句
- Python2.7注意点汇总(高级特性模块)