您的位置:首页 > 其它

进程方面笔记:主进程子进程/pid/fork/pdb调试/pep8规范

2018-03-30 10:21 267 查看
单核cpu :每次只执行一个程序时间片轮转:多个程序同时执行,每次执行0.2ms(例子),时间切换很短,让外界感觉是程序都在同时执行调度算法优先级调度:系统会给不同程序不同的优先级,按照优先级执行程序并发:指的是任务数大于cpu核数,通过操作系统的各种调度算法,实现多个任务“一起”执行(因为切换速度快,看上去是一起执行)并行:指的是任务数小于等于cpu核数,即任务真的是一起执行
进程:正在运行的代码,是动态的程序:编写完毕代码,没有执行,是静态的pid :进程的id号os.getpid:获取pidos.getppid:获取pid父进程中fork的返回值,就是刚刚创建出来的子进程的id父进程返回值都是大于0,子进程返回值等于0父子进程不确定谁先执行,调度算法不清楚进程和进程之间,全局变量 数据不会共享  (缺点)
拓展:  while True   /换行   os.fork()   :俗称fork炸弹,程序崩溃内存飙升fork :主进程结束了,子进程还继续执行,父亲不管儿子的事process :主进程要等到子进程结束,它才结束

pdb调试 启动时调试  python -m pub 123.py交互时调试import pdb    pdb.run(“test(11,22)”)  #test调用函数程序里面埋点import pdb (先倒入模块)ret=pdb.set_trace(把这句代码放到需要加断点那行代码的前面)python 123.py  (命令输入的格式)日志调试

l   : list 显示当前的代码n : next 向下执行一行代码(快速执行完这一行代码,然后向下执行)c :continue 继续执行代码b :break 添加断点 (b 7 ,意思是在第7行添加一个断点)clear :删除断点s:step 进入到一个函数p :print 打印一个变量的值 ( p a ; p b)a:args 打印所有的形参数据 ( a )q:quit 退出调试r:return 快速执行到函数的最后一行
pep8规范函数标准的编码格式对准左括号
不对准左括号,但多加一层缩进,和后面的内容有区别
悬挂缩进必须加一层缩进

空格或tab键空格是首选的缩紧方法
Tab仅仅在已经使用tab缩进的代码中为了保持一致性而使用
Python3 中不允许混合使用tab和空格缩进
Python2 的包含tab和空格缩进的应该全部转为空格缩进
空行:函数和函数之间,隔一个空行;函数和类之间用两个空行导入顺序:标准库,第三方,本地库;分号的作用:a = 100; b = 200  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息