工做之余会总结一些细小的知识点,但又不至于发一篇博客,之后将细小的知识点积累供本身备忘;python
主要分为两个模块: python只是和Linux知识shell
一 、Python多线程
1.正则中group()、group(0)、group(1)、group(s)的区别?.spa
结论:group取索引是从1开始的,索引group()和group(0)是同样的,group(1)能够取到第一个括号的元素,groups()返回的是全部匹配对象的元组线程
2.你真的懂GIL吗?对象
概念:Cpython解释器在同一时刻只容许一个线程执行blog
问题:本地有两个python文件:a.py中开启5个线程,b.py中开启3个线程,问:同一时刻有几个进程,几个线程??排序
首先明确下进程是系统进行资源分配和调度的一个独立单位;线程是进程的一个实体,是CPU调度和分派的基本单位索引
两个python文件相互独立,确定同一时刻确定有两个进程,两个进程共开启8个线程,可是每一个进程中同一时刻只容许一个线程执行,进程
全部a.py中开启了5个线程,但只用一个在执行,,因此两个文件同一时刻有两个进程,两个线程,其他的线程处于挂起状态并不会打断,
那么python中的多线程真的一点用没有吗,分状况看了,,若是多个线程全都是计算密集型的话python确实有点鸡肋,但若是多个线程有IO操做的话,其中一个 线程处于IO操做时另外一个线程就能够运行,因此在IO多线程操做中python线程还时有做用的
3.字典的排序(比较简单,可是容易遗忘)
4. 字典的update()没有返回值
两个字典合并时可使用update()方法,可是注意update没有返回值,代码以下:
5. 巧用字符串split()的第二个参数
字符串的split()操做常常使用,可是它有三个参数,第二个参数step可理解为切割几个,看代码:
6. python重写父类的__init__方法
2、Linux操做
1. set指令最经常使用的两个参数意义
set -e 若指令传回值不等于0,则当即退出shell;
set -x 执行指令后,会先显示该指令及所下的参数
未完待续~~~~