1.你知道协程是怎么实现的吗?
python使用yield关键字实现协程。gevent使用greenlet实现协程,不是用yield关键字。
yield和greenlet都是实现协程的利器,但是greenlet提供了协程中直接切换控制权的方式(switch()方法),比生成器(yield)更加灵活、简洁。
2.你知道python的垃圾回收机制吗?
Python中为了解决内存泄漏问题,采用了引用计数实现自动垃圾回收。为每个对象维护了一个ob_refcnt字段,当新的引用指向该对象时,引用计数+1,
当一个对象的引用被销毁时-1,一旦对象的引用计数为0,该对象被立即回收,所占内存被释放。这种方法优点是简单,具有实时性。缺点是不能解决
“循环引用”的问题。为了解决这个问题,Python引入了标记-清除和分代回收两种机制。