Python Threading

今天看了 《Python源码剖析》 中多线程的章节,看完头都秃了。但还是感觉自己没有吸收多少,知识一股脑倾泻下来,然后匆匆流过。在两个番茄钟的间隙,我全景思考了下,还是要从上往下入手,先将 threading 模块梳理清楚。其次是带着问题来阅读源码,跟着作者的思路容易迷,而问题最好是从 threading 的使用姿势中来。 来看廖雪峰老师Python教程中的例子: import time, threading def loop(): print('thread %sis running...' % threading.current_thread().name) n = 0 while n < 5: n = n + 1 print('thread %s>>> %s' % (threading.current_thread().name, n)) time.sleep(1) print('thread %sended.' % threading.current_thread().name) print('thread %sis running...' % threading.current_thread().name) t = threading.Thread(target=loop, name='LoopThread') t.start() t.join() print('thread %sended.' % threading.current_thread().name) 看完这段代码,我的脑海中浮现了这几个问题: Thread 是如何描述线程对象的? 启动线程的时候做了些啥,线程对象保存在哪里? 除了 Thread,threading 里还保存了写东西,否则 threading.current_thread() 怎么实现? 除此之外,还有一些线程的常见问题,如: threading 提供了哪些线程同步方式,锁? ...

8月 5, 2019 · 4 分钟 · xgugeng