摘要: 全局解释器锁简称:GIL(Global Interperter Lock)。首先需要明确一点就是,GIL并不是Python语言的特性,它是在现实Python解释器时引用的一个概念。GIL只在CPython解释器上存在。作用是保证同一时间内只有一个线程在执行。 线程互斥锁和GIL的区别 1.线程互斥锁 阅读全文
posted @ 2022-09-29 17:44 寒风孤影,江湖故人 阅读(176) 评论(0) 推荐(0) 编辑
摘要: http://t.zoukankan.com/ldy-miss-p-8706318.html 1.1 线程的背景知识import threading # 导入线程相关的模块t = threading.current_thread() # 返回当前线程 print(t) # 主线程执行print(t. 阅读全文
posted @ 2022-09-29 17:35 寒风孤影,江湖故人 阅读(74) 评论(0) 推荐(0) 编辑
摘要: # 线程安全 线程安全是多线程或多进程编程中的一个概念,在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。 线程安全的问题最主要还是由线程切换导致的,比如一个房间(进程)中有10颗糖(资源),除此之外还有3个小人(1 阅读全文
posted @ 2022-09-29 16:57 寒风孤影,江湖故人 阅读(51) 评论(0) 推荐(0) 编辑
摘要: python中的dis模块可以查看一句python代码的cpu运行轨迹,也就是cpu指令,如果只是读取数据时,如读取一个函数,此时数据是安全的,因为没有涉及任何修改,当改数据时,可能会涉及数据不安全,如多个线程同时修改一个数据,原因是一句代码对应了多条cpu指令,如有4条指令,当执行完第二条时,cp 阅读全文
posted @ 2022-09-29 16:35 寒风孤影,江湖故人 阅读(203) 评论(0) 推荐(0) 编辑