搜索到与相关的文章
Python

深入学习python多线程与GIL

python多线程效率在一台8核的CentOS上,用python2.7.6程序执行一段CPU密集型的程序。importtimedeffun(n):#CPU密集型的程序while(n>0):n-=1start_time=time.time()fun(10000000)print('{}s'.format(time.time()-start_time))#测量程序执行时间测量三次程序的执行时间,平均时间为0.968370994秒。这就是一个线程执行一次fun(

系统 2019-09-27 17:47:58 2003

Python

Python Django 命名空间模式的实现

新建一个项目app02在app02/下创建urls.py:fromdjango.conf.urlsimporturlfromapp02importviewsurlpatterns=[url(r'^blog/',views.test,name="blog"),]app01/urls.py:fromdjango.conf.urlsimporturlfromapp01importviewsurlpatterns=[url(r'^blog/',views.blog

系统 2019-09-27 17:47:37 2003

Python

一个计算身份证号码校验位的Python小程序

S=Sum(Ai*Wi),i=0,.......16(现在的身份证号码都是18位长,其中最后一位是校验位,15位的身份证号码好像不用了)Ai对应身份证号码,Wi则为用于加权计算的值,它一串固定的数值,应该是根据某种规则得出的吧,用于取得最好的随机性,Wi的取之如下:7910584216379105842经过加权计算之后,得到一个S,用这个S去模11,取余值,然后查表得到校验位,这个索引表如下:0-----11-----02-----x3-----94---

系统 2019-09-27 17:46:48 2003

Python

Python日常学习杂记

Python日常学习杂记python-c的作用在命令行里执行python时,如果加上-c,即python-cxxx那么,xxx就被当做一条指令(command)来执行,否则,就当做脚本路径,去找script,然后执行里面的内容。比如:$python'importthis'/root/anaconda3/bin/python3.7:can'topenfile'importthis':[Errno2]Nosuchfileordirectory这里就把这个str

系统 2019-09-27 17:46:17 2003

Python

Python实现网站文件的全备份和差异备份

之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题:•md5sum获取有些软连接的MD5值存在问题•不支持对空目录进行备份,因为md5sum无法获取空目录的md5值•权限的修改md5sum无法判断解决方案:利用文件的mtimectimemtime(Modifiedtime)是在写入文件时随文件内容的更改而更改的ctime(Createtime)是在写入文件、更改所有者、权限或链接设置时随Inode的内容更改而更改的废话不多说直接上代码:

系统 2019-09-27 17:37:59 2003

编程技术

关于大型网站技术演进的思考(六)--存储的瓶颈

在讲数据库水平拆分时候,我列出了水平拆分数据库需要解决的两个难题,它们分别是主键的设计问题和单表查询的问题,主键问题前文已经做了比较详细的讲述了,但是第二个问题我没有讲述,今天我将会讲讲如何解决数据表被垂直拆分后的单表查询问题。要解决数据表被水平拆分后的单表查询问题,我们首先要回到问题的源头,我们为什么需要将数据库的表进行水平拆分。下面我们来推导下我们最终下定决心做水平拆分表的演进过程,具体如下:第一个演进过程:进行了读写分离的表在数据增长后需要进行水平拆

系统 2019-08-29 23:45:42 2003

编程技术

手把手教你做flash RPG

第一步:导入资料图片首先在flash中导入人物走路的图片,如下图:第二步:制作向前后左右走路的影片剪辑把刚才导入的图片,分别制作成4个影片剪辑a,d,s,w,用来描述走路的过程,如下图第三步:制作Walk影片剪辑,在主场景中建立一个walk影片剪辑,在walk中建立8个关键帧,帧标签分别是:Right,Left,Down,Up,Right2,Left2,Down2,Up2前4个关键帧分别放置影片剪辑d,a,s,w,后面4个关键帧放置相应的静态图片,用来显示

系统 2019-08-29 23:24:07 2003

编程技术

模板模式

模板方法(TemplateMethod)模式属于行为模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这里的算法的结构,可以理解为你根据需求设计出来的业务流程。特定的步骤就是指那些可能在内容上存在变数的环节。结构模式:1)AbstractClass(抽象类):定义了一到多个的抽象方法,以供具体的子类来实现它们;而且还要实现一个模板方法,来定义一个算法的骨架。该模板方法不仅调用前面的抽

系统 2019-08-29 23:06:22 2003

编程技术

微软“黑屏”被严重误读

我在前几天的博客中提到,微软所谓Windows“黑屏”并不值得恐慌,即使用户是盗版的,微软采取的是仍然是很温和的政策,不象有的软件过期往往直接就。所谓“黑屏”,在媒体和竞争对手的炒作下,被普通用户严重误读,甚至引发恐慌。所谓“黑屏”,其实盗版Windows系统的桌面每隔60分钟变成黑底色,用户可以通过桌面属性改成其它或默认的桌面,完全不影响使用,更不会对用户的数据造成安全性影响。这其实和大家使用未注册的WinRAR解压软件,打开时弹出个提示窗口是一样的,都

系统 2019-08-29 22:45:50 2003

编程技术

锁定与并发

在多线程程序中,我们经常需要对要访问的资源进行加锁。加锁的目的是为了同步对资源的访问,但是,加锁不可避免的会降低应用的并发量。那么如何在需要加锁的时候,尽可能地提高并发量了?下面是我的一些经验,仅供参考。1.首先,我们要控制好锁的粒度。锁的粒度越大,能支持的并发就越小。我们只需要将真正需要同步的代码块lock住,而不需要同步的代码块不要放在lock块中。当然,锁的粒度也不是越小越好,粒度太细的锁会导致编程很繁琐,而且需要足够的细心和全面考虑方可保证锁不会出

系统 2019-08-29 22:43:04 2003