Destroy、
2019-07-05
看到这,终于搞明白多线程和协程的差异,感谢老师。
1
8
Paul Shan
2019-11-22
我个人认为,线程是CPU调度的最小单元,但是Python,因为GIL的存在让并行无法在线程这个粒度上运行,只好在更大粒度的进程上并行,进程切换的代价比线程大,Python并行的效率低于支持多线程同时在多核上跑的语言。协程是在一个线程内调度资源,无法实现并行,但对IO操作有效,也就是说可以并发利用CPU和IO资源,但是无法并行利用多个CPU资源。我的观点是否正确,请老师指正。
1
cffex是2b
2019-07-05
老师,前次讲的垃圾回收之分代回收,系统默认第二代和第三代阈值为10;对于一个系统来说,这么多全局变量,那么第二代和三代不就在一直很高频的回收?
1
yshan
2019-07-05
继续加油,虽然学习了后面,前面有些已经忘记了,还是需要多复习和实践
1
大王叫我来巡山
2019-11-29
第一次完全明白GIL,照顾方便性的同时在实现上偷了懒,但是本身设计就是解决特定问题,而不是解决所有问题的,但是随着受众的增多,是会发展变化,就行脚本语言中引入类型系统,编译型语言中引入类型推断,都是为了语言更好的发展。
作者回复: 说得很对
isaiahqian
2019-09-21
老师,想提供GPU预测的异步接口,这个属于IO密集还是CPU密集?主要计算是使用GPU,不在CPU,而且最后返回结果需要从GPU搬回CPU,应该属于IO操作。所以用多线程更合适?
晓冰
2019-08-15
老师你好,python同一时刻只能执行一个线程,那么多核cpu的场景下就没办法充分利用硬件资源,我们在生产环境中是怎么玩的呢?
作者回复: 实际生产环境都是几万台机子一起运作
1
杰洛特
2019-08-07
请教老师,对于网络请求等待较多的场景,是不是也参考I/O密集型任务,采用多线程好一些?
作者回复: 嗯嗯
贺宇
2019-07-17
在单核单线程的计算机下,是不是任何语言的多线程都是分时间片来操作,也就是所说的伪并行。但是Python的多线程无论在几核计算机下都是单进程在跑,而别的语言的多线程会调用多进程。
converse✪
2019-07-10
之前不是说io slow的时候用asyncio,heavy的时候用多线程么?为啥这里说heavy用asyncio?
new
2019-07-09
目前项目不用python看过了似乎是懂了,过一段时间又啥都想不起来了,学习最好的方式是边学边用,可是没机会用。感觉老师确实底蕴深厚呀,好多东西对老师来说似乎很简单,比如图,有向图,有向边,我都不懂呀,感觉差的好多好多
作者回复: 平时多注重实践,积累,这些都是水到渠成
一叶知秋
2019-07-08
感觉问题三非常类似单核cpu的时间片轮转算法
somenzz
2019-07-05
>>> x = [1]
>>> y = [1]
>>> x.append(x)
>>> x == x
True
>>> x == y
False
>>> x
[1, [...]]
>>> y
[1]
第一个同学所说的无限递归问题,我这试了下并未出现,Python 3.7.1
展开
1
enjoylearning
2019-07-05
asyncio这是要代替requests的节奏?
我们在线,来聊聊吧
✕
您好,当前有专业客服人员在线,让我们来帮助您吧。
我们在线,来聊聊吧