pyton多线程严格来说并不是真正的多线程,而是基于GIL全局解释锁进行上下文切换。
线程1,GIL锁定,执行100k 解锁线程1 切到到线程2.GIL锁定,执行100k
就是重复上边的操作。
python的话建议用协程,gevent第三方不错。协程是基于程序级的代码级切换,本身有自己的寄存器。进行上下文切换。 本身只占一个线程。但是只能利用一个cpu核。如果要高性能历用。一般会采用多进程+协程。
运行: a. 指定数量的字节码指令,或者
b. 线程主动让出控制(可以调用time.sleep(0))
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。