• 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的节奏?

    
    
我们在线,来聊聊吧