python dis模块
python中的dis模块可以查看一句python代码的cpu运行轨迹,也就是cpu指令,
如果只是读取数据时,如读取一个函数,此时数据是安全的,因为没有涉及任何修改,
当改数据时,可能会涉及数据不安全,如多个线程同时修改一个数据,原因是一句代码对应了多条cpu指令,如有4条指令,当执行完第二条时,cpu时间片轮转了,此时数据可能发生错误。
所以任何 += -= *- 都是数据不安全的
- 没有存进去,只有load读数据,安全
import dis
def func2():a = 0a + 1
dis.dis(func2)
运行结果
3 0 LOAD_CONST 1 (0)2 STORE_FAST 0 (a)4 4 LOAD_FAST 0 (a)6 LOAD_CONST 2 (1)8 BINARY_ADD10 POP_TOP12 LOAD_CONST 0 (None)14 RETURN_VALUE
- 数据存进去,数据不安全
import dis
def func2():a = 0a += 1
dis.dis(func2)
运行结果
3 0 LOAD_CONST 1 (0)2 STORE_FAST 0 (a) 4 4 LOAD_CONST 2 (1)6 STORE_FAST 0 (a)8 LOAD_CONST 0 (None)10 RETURN_VALUE
以上涉及cpu多步指令
python dis模块相关推荐
- python dis模块解析
Python代码是编译成字节码(Bytecode)再放到CPython编译器中执行,而dis模块可以将python代码分解为字节码.先上一段代码 在输出中,11代表原python代码所在的行数,0代表 ...
- 初探Python字节码和dis模块
本文主要介绍 Python 字节码.Python 虚拟机内幕以及 dis 模块的简单应用.阅读本文预计 10 min. 初探Python字节码和dis模块 1. 前言 2. Python 字节码 2. ...
- python樱花代码_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...
- pythondis功能_python 使用 Dis 模块进行代码性能剖析
Python代码在执行的时候,会被编译为Python字节码,再由Python虚拟机执行Python字节码.有时候就我们执行python文件的时候会生成一个pyc文件,这个pyc文件即用于存储Pytho ...
- 用python画圣诞树-使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...
- [转]python各模块的学习
[-] 01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 ...
- python使用turtle库绘制一个100长度的十字架_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例...
使用python图形模块turtle库绘制樱花.玫瑰.圣诞树代码实例 发布时间:2020-08-22 15:57:19 来源:脚本之家 阅读:76 作者:Soul fragments 今天为大家介绍几 ...
- python 各种模块学习
from:https://blog.csdn.net/weiwangchao_/article/details/70570508 转载:.... Python的模块大全,很全,有详细介绍! 另外附Py ...
- 绘制图形可以使用什么python数据库_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例...
今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...
最新文章
- 小程序button去除边框
- MVC公司架构介绍——自运行任务
- linux oracle 删除为空的dbf,Linux上Oracle误删除一个没有用的dbf表空间文件
- zbb20180929 thread 自旋锁、阻塞锁、可重入锁、悲观锁、乐观锁、读写锁、对象锁和类锁...
- Markdown 编辑器使用
- 浅谈TCP/IP网络编程中socket的行为
- Python爬虫开发【第1篇】【Requests】
- dbvisulizer 存储过程
- Android四大组件(activity task stack)
- oppo r17进入9008模式
- 二维码生成器 python excel_python 自动生成excel
- android 上位机下位机串口通讯,上位机下位机串口通信.doc
- Java生成bmp图片_利用24位BMP图实现信息隐写(java语言)
- 信息系统项目管理师---综合类计算
- 帮助睡眠最好的办法是什么?对睡眠好的东西分享
- 法语语法学习笔记——代词(2)
- [图片校准(矫正)]——透射变换应用
- 【已解决】Activity MainActivity has leaked window PhoneWindow$DecorView@ that was originally added here
- 华为路由器负载均衡_华为AR路由器配置双出口静态IP双链路负载 | 铭泰网络
- 印象笔记 HTML邮件,如何通过私有邮箱保存邮件到印象笔记?
热门文章
- 软件工程毕业设计课题(44)微信小程序毕业设计JAVA医院预约挂号小程序系统毕设作品项目
- GBK-unicode对照
- 用于Brain Runners电子游戏的改进SmallNet脑电解码分类
- 【Bio】基础生物学 - 蛋白质结构 protein structure
- matlab中的箭头符号怎么打开,MATLAB中上下标、斜体、箭头等符号的使用方法
- 推荐几个办公软件的神器
- Spring Cloud之微服务之间相互调用、如何让一个微服务调用另外一个微服务
- 在python中怎么定义一个范围_如何定义范围
- 性能测试工具loucst使用(最新版本)
- 咬文嚼字的有趣例子_十个你可能没听过的成语,藏着十个有趣的故事