- 博客(18)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
转载 python multiprocessing进程关键点
序.multiprocessingpython中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执行不同形
2017-11-15 18:15:10 493
转载 python CPU密集型对IO密集型 多进程更优于多线程 GIL
CPU密集型和IO密集型最近在看Python的多线程,经常我们会听到老手说:“python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢?要知其然,更要知其所以然。所以有了下面的深入研究:首先强调背景:1、GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据安全所做的决定。2、
2017-11-15 17:17:51 4466 2
原创 python Threading线程关键点
创建存储线程的队列,thread=[]将线程添加到队列中,t.setDaemon(True) 设置为守护进程等子进程进行完,父进程才继续执行t.start() 启动线程t.join() 队列中的子进程没执行完阻塞父进程 python中,默认情况下,t.setDaemon(False)为False(1)没有t.setDaemon(Tr...
2017-11-15 11:55:30 365
原创 linux内核结构完整视图
系统都是数据结构和算法,图中主要是每个环节中处理的程序,程序控制数据在硬件设备间的流动和处理,从而提供系统服务。内核和用户态 就像双人舞 我们可以从我们使用的服务对系统内核有大概的了解
2017-11-14 22:39:36 767
原创 python 数据处理基础
(2)Python 语法简介 ---- 类型转化int(x [,base ]) 将x转换为一个整数long(x [,base ]) 将x转换为一个长整数float(x ) 将x转换到一个浮点数complex(real [,imag ]) 创建一个复数str(x ) 将对象 x 转换为字符
2017-11-14 11:08:22 419
转载 asp一句话木马原理
一句话木马入侵原理是典型的一句话木马服务端代码,将这个代码写入asp文件,就成了一句话木马服务端文件。 仔细观察一下这句代码,括号里的“#”是我们一句话的密码,我们可以把它改成任意字符,这样可以避免别人发现我们的一句话木马后,轻松的通过它捡个大便宜,如果我们上传的一句话代码为。那么在客户端连接文件里要将textarea name=”#”将其改为对应的textarea name=“123
2017-11-10 16:53:48 11106
转载 关系型数据库和非关系型数据库
1. 关系型数据库关系型数据库,是指采用了关系模型来组织数据的数据库。关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。关系模型中常用的概念:关系:可以理解为一张二维
2017-11-09 14:32:48 303
原创 keepalive——http
HTTP Keep-Alive在http早期,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。通过使用keep-alive机制,可以减少tcp连接建立次数,也意味着可以减少TIME_WAIT状态连接,以此提高性能和提高httpd服务器的吞吐率(更少
2017-11-08 23:44:38 364
原创 爬虫
传统反爬虫手段1、后台对访问进行统计,如果单个IP访问超过阈值,予以封锁。这个虽然效果还不错,但是其实有两个缺陷,一个是非常容易误伤普通用户,另一个就是,IP其实不值钱,几十块钱甚至有可能买到几十万个IP。所以总体来说是比较亏的。不过针对三月份呢爬虫,这点还是非常有用的。2、后台对访问进行统计,如果单个session访问超过阈值,予以封锁。这个看起来更高级了一些,但是其实效果更差,
2017-11-08 22:10:35 344
原创 windows下补丁手动下载和安装
1、MSU这种格式的安装包双击就可以运行,不过如果使用命令行的方式进行,还可以附加一些参数,以便让安装过程更符合自己的要求。我们以适用于Win10稳定预览版10586.494的KB3172988补丁(点此进入下载页面)为例,讲述一下安装命令该如何使用。命令格式如下:wusa.exe "X:\路径\windows10.0-kb3172988-x64_c3f911bf701a57a0423
2017-11-08 20:03:33 19076
转载 CPU 频率
目前CPU/ASIC基本都是使用CMOS逻辑电路, 而工艺水平的改进使CMOS管延迟减小,也就使每条指令可以在更短的时钟周期内完成。也就是主频可以随工艺加深而得以提高。 我们再看下为什么工艺加深会让晶体管延迟减小,下图是CMOS晶体管的截面示意图,晶体管的开关速度是收很多因素的影响,其中电场强度和电子迁移率。 电场强度是受加载到源漏两极的电压以及沟道长度的影响。 沟道长度(也就是平时说的28nm,
2017-11-06 23:03:01 555
转载 不同级别并发理解
4. 结论与分析4.1 Stackless Python毫无疑问,Stackless Python几乎有匪夷所思的并发性能,比其他方案快上几十倍,而且借助Stackless Python提供的channel机制,实现也相当简单。也许这个结果向我们部分揭示了沈仙人基于Stackless Python实现的Eurasia3能够提供相当于c语言效果的恐怖并发性能的原因。4.2 Py
2017-11-05 01:36:04 356
原创 python字符串连接导致效率问题
dictt = {}print id(dictt)dictt.setdefault("key","value")dictt.setdefault("key1","value")dictt.setdefault("key2","value")dictt.setdefault("key3","value")dictt.setdefault(&
2017-11-01 23:50:52 412
原创 GPU安全
JellyFish开发小组公布了一个Linux Rootkit,展示了一种新型的木马入侵方式,那就是通过感染GPU来获取整台计算机的控制权。 这个Linux Rootkit利用了两个当前计算机系统中的“漏洞”,第一个是正处于高速发展下的GPU通用计算,另一个则是安全软件的监控盲区。据该小组的成员表示,他们发现目前绝大部分安全软件都不会扫描GPU调用的内存空间,因此这片内存空间就相
2017-11-01 17:42:37 411
Nginx高性能Web服务器详解
2018-02-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人