教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

什么是死锁?【Python面试题】

更新时间:2021年05月19日16时46分 来源:传智教育 浏览次数:

好口碑IT培训



什么是死锁?

若干子线程在系统资源竞争时,都在等待对方对某部分资源解除占用状态,结果是谁也不愿先解锁,互相干等着,程序无法执行下去,这就是死锁。

GIL锁:
有时候,面试官不问,你自己要主动说,增加b格,尽量别一问一答的尬聊,不然最后等到的一句话就是:你还有什么想问的么?

全局解释器锁(只在cpython 里才有)

作用:限制多线程同时执行,保证同一时间只有一个线程执行,所以cpython 里的多线程其实是伪多线程!

所以Python 里常常使用协程技术来代替多线程,协程是一种更轻量级的线程,进程和线程的切换时由系统决定,而协程由我们程序员自己决定,而模块gevent下切换是遇到了耗时操作才会切换。

三者的关系:进程里有线程,线程里有协程。



猜你喜欢:

死锁是怎么产生的?如何避免产生死锁?

乐观锁有什么缺点?乐观锁的缺点介绍

什么是锁消除和锁粗化?锁消除和锁粗化介绍

Python的GIL锁是什么?

传智教育Python大数据培训课程

0 分享到:
和我们在线交谈!