python模块学习(threading模块的方法)
来源:互联网 发布:约翰威廉姆斯 知乎 编辑:程序博客网 时间:2024/06/02 05:39
学习版本3.5.2
Lock() 创建一个Lock对象并返回
RLock() 创建一个RLock对象并返回
active_count() 返回当前未被阻塞的线程的数量
current_thread() 返回当前的线程对象
enumerate() 返回当前未被阻塞的对象的list
setprofile(func)和settrace(func) 设置一个function在所有的线程对象的run()方法运行之前调用
stack_size(...) 修改创建线程时候使用的栈空间大小,参数为0(使用平台的默认参数或者设置好的参数)或者大于32768(32k)的整数。返回创建线程时候使用的栈空间大小(0(使用平台的默认参数或者设置好的参数))
实验代码:
#/usr/bin/python3# -*- utf-8 -*-#学习版本3.5.2import threadingimport timeclass Chick(threading.Thread): def __init__(self, name=""): super(Chick, self).__init__(name=name) threading.settrace(funct) threading.setprofile(funcp) def run(self): print(self.getName(),": 等待中") time.sleep(3)def funct(*args): print("trace") print(args)def funcp(*args): print("profile") print(args)if __name__ == "__main__": c1 = Chick(name="A") c2 = Chick(name="B") c3 = Chick(name="C") c1.start() c2.start() c3.start() print(threading.active_count()) print(threading.current_thread().getName()) print(threading.stack_size(65536)) print(threading.stack_size()) print("main")
运行结果
trace(<frame object at 0x101ca9048>, 'call', None)profile(<frame object at 0x101ca9048>, 'call', None)trace(<frame object at 0x101c3ca38>, 'call', None)profile(<frame object at 0x101c3ca38>, 'call', None)trace(<frame object at 0x101ca6558>, 'call', None)profile(<frame object at 0x101ca6558>, 'call', None)profile(<frame object at 0x101ca6558>, 'return', 'A')profile(<frame object at 0x101c3ca38>, 'return', 'A')profile(<frame object at 0x101ca9048>, 'c_call', <built-in function print>)A : 等待中profile(<frame object at 0x101ca9048>, 'c_return', <built-in function print>)profile(<frame object at 0x101ca9048>, 'c_call', <built-in function sleep>)trace(<frame object at 0x101ca9200>, 'call', None)trace4(<frame object at 0x101ca93b8>, 'call', None)MainThreadprofile065536(<frame object at 0x101ca93b8>, 'call', None)mainprofiletrace(<frame object at 0x101ca9200>, 'call', None)(<frame object at 0x101c3ca38>, 'call', None)profile...
阅读全文
0 0
- python模块学习(threading模块的方法)
- Python的threading模块
- python多线程模块threading学习
- python模块学习(threading模块中的Thread类)
- python模块学习(threading模块中的Timer类)
- python模块学习(threading模块中的Condition类)
- python模块学习(threading模块中的Event类)
- python模块学习(threading模块中的Barrier类)
- python threading模块的使用
- Python的多线程threading模块
- Python 多线程(threading模块)
- Python 多线程(threading模块)
- Python多线程(threading模块)
- python的threading模块中threading.RLock和threading.Lock
- 4.python学习笔记:python多线程下的threading模块
- Python的Threading模块的Thread对象的join方法
- Python学习笔记--BeautifulSoup、urllib、threading模块
- python多线程模块threading学习总结
- TensorFlow学习笔记3
- 统一日志系统
- 单步执行请求导致属性或运算符自动的逐过程
- 移动端页面适配方案
- http协议接口调用之HttpClient
- python模块学习(threading模块的方法)
- 关于word2vec种的问题
- ActiveMQ 项目实战
- Sublime Text内调试JavaScript代码
- 5步上手体验kettle快捷调度方式
- Spring Boot 初级Hello Word web项目详细搭建
- C++数据类型
- python实现切割url得到域名、协议、主机名等各个字段
- Thinking in java 读书笔记(四、toString,class的初始化顺序)