python入门(三十六):threading模块
来源:互联网 发布:优化约束问题正则化 编辑:程序博客网 时间:2024/06/10 07:20
1.Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元。
2.
import threadingimport timedef f0(): passdef f1(a1): time.sleep(5) f0()t = threading.Thread(target=f1, args=(123,))#创建子线程t.setDaemon(True)#默认主线程会等待子线程(默认值为False)改为TRUE后主线程将不再等待子线程t.start()#执行线程,时间不可预期t.join(2)#不加2时等待该子线程执行完再接着往下执行,加2表示最多等两秒
3.线程锁
import threadingimport timegl_num = 0lock = threading.RLock()def Func(): lock.acquire()#获得锁 global gl_num gl_num += 1 time.sleep(1) print(gl_num) lock.release()#释放锁for i in range(10): t = threading.Thread(target=Func) t.start()
4.事件event
python线程的事件用于主线程控制其他线程的执行,事件主要提供了三个方法 set、wait、clear。事件处理的机制:全局定义了一个“Flag”,如果“Flag”值为 False,那么当程序执行 event.wait 方
法时就会阻塞,如果“Flag”值为True,那么event.wait 方法时便不再阻塞。clear:将“Flag”设置为Falseset:将“Flag”设置为True
import threadingdef do(event): print('start') event.wait() print('execute')event_obj = threading.Event()for i in range(10): t = threading.Thread(target=do, args=(event_obj,)) t.start()event_obj.clear()inp = input('input:')if inp == 'true': event_obj.set()
阅读全文
0 0
- python入门(三十六):threading模块
- Python threading模块
- Python threading模块简介
- python threading模块
- Python 多线程 Threading模块
- Python的threading模块
- PYTHON THREADING模块
- python中的threading模块
- python threading多线程模块
- python多线程-threading模块
- Python标准模块--threading
- Python threading模块初探
- Python标准模块--threading
- Python Threading 模块
- python多线程模块threading
- python的threading模块中threading.RLock和threading.Lock
- python多线程模块threading简例
- [Python]多线程--threading模块实现
- Java并发编程实战(学习笔记十五 第十六章 Java内存模型(JMM))
- mac下安装php7
- java 集合框架
- QML改变TextInput或者其它输入框光标颜色
- JAVA键盘输入数据的两种方法
- python入门(三十六):threading模块
- flex布局之手机输入法弹框遮盖问题
- Java面试宝典2015版(绝对值得收藏超长版)(一)
- Hololens开发(2)
- CAD文件怎么转高清图片
- Python笔记(五)--变量类型之列表
- intellij idea14 +svn配置
- 关于CBitmap,LoadBitmap 的使用
- JavaScript实现事件原型