并发 与 并行 的区别: 解释一:并发是在同一实体上的多个事件,并行是在不同实体上的多个事件: 解释二:并发是指两个或多个事件在同一时间间隔发生,而并行是指两个或者多个事件在同一时刻发生. 并发:就是同时做多件事情. 例如:终端用户程序利用并发功能,在输入数据的同时响应用户输入.服务器利用并发,在处理第一个请求的同时响应第二个请求.只要你希望程序同时做多件事情,就需要并发. 多线程只是并发的一种形式,但不是唯一形式.还有一种非常重要的并发类型:异步编程,它也是并发的一种形式. 并行:就是把正在执…
转自:http://www.redicecn.com/html/Python/20111223/355.html Python发挥不了多核处理器的性能(据说是受限于GIL,被锁住只能用一个CPU核心,关于这个,这里有篇文章),但是可以通过Python的multiprocessing(多进程)模块或者并行运算模块(例如,pprocess)来使用到多核. 测试代码如下,程序先后分别测试了串行运算.并行运算以及多线程和多进程执行同一个函数所花费的时间. #! /usr/local/bin/python…
一.线程 ​ 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本:进程是程序的一次执行活动,属于动态概念.在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行.这是这样的设计,大大提高了CPU的利用率.进程的出现让每个用户感觉到自己独享CPU,因此,进程就是为了在CPU上实现多道编程而提出的. ​ 有了进程…
前言 在Python中,计算密集型任务适用于多进程,IO密集型任务适用于多线程   正常来讲,多线程要比多进程效率更高,因为进程间的切换需要的资源和开销更大,而线程相对更小,但是我们使用的Python大多数的解释器是Cpython,众所周知Cpython有个GIL锁,导致执行计算密集型任务时多线程实际只能是单线程,而且由于线程之间切换的开销导致多线程往往比实际的单线程还要慢,所以在 python 中计算密集型任务通常使用多进程,因为各个进程有各自独立的GIL,互不干扰.   而在IO密集型任务中…
1.概念 线程.进程 进程 一个程序,它是一组资源的集合 一个进程里面默认是有一个线程的,主线程 多进程是可以利用多核cpu的线程 最小的执行单位 线程和线程之间是互相独立的 主线程等待子线程执行结束 线程和线程之间,数据是共享的. 守护线程: 只要主线程执行完成,不管子线程有没有执行完成,全部都结束 一个电脑有几核CPU就只能同时运行几个任务,比如4核CPU只能同时运行4个线程 我们在操作电脑时,感觉是同时运行多个任务,是因为CPU的运算速度很快,有上下文切换,我们感觉不到 python里的多…
基础篇 1.Python基础之初识python 2.Python数据类型之字符串 3.Python数据类型之列表 4.Python数据类型之元祖 5.Python数据类型之字典 6.Python Set集合,函数,深入拷贝,浅入拷贝,文件处理 7.Python之常用模块 8.python正则表达式 9.python面向对象编程 10.python之socket编程 11.python进程.线程.协程 11.python-nmap使用及案例 进阶篇 1.浅析tornado web框架 2.djan…
一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus.他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言. 最新的TIOBE排行榜,Python赶超PHP占据第4, Python崇尚优美.清晰.简单,是一个…
模块:os.sys.time.logging.json/pickle.hashlib.random.re 模块分为三种: 自定义模块 第三方模块 内置模块 自定义模块 1.定义模块 将一系列功能函数或常量封装为一个独立的.py或多个.py文件. 2.导入模块 import module from module.xx import yy from module.xxxxx import as rename 对于难于编写可以将其重新命名为一个新的模块名字 from module.xx import…
一.python环境的搭建 1.window下环境的搭建 (1).在 https://www.python.org/downloads/ 下载自己系统所需要的python版本 (2).安装python,可以默认路径安装也可以修改安装路径(C:\Python27 默认安装路径) (3).设置环境变量,我的电脑--属性----高级系统设置----环境变量--系统变量下面的path中添加上python的安装路径 (4).通过cmd进入命令行窗口,输入python ,显示python的相关版本信息表明p…
入门知识: 一.关于作用域: 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 10 == 10: name = 'allen' print name 以下结论对吗? 外层变量,可以被内层变量使用 内层变量,无法被外层变量使用 以上结论,对于其他语言适用,对于python 不适用 ** 记住:python,只要内存里存在,则就能适用 (栈 ) 二.三元运算: 1).普通循环: if name == "test": name = "坏人"…