摘要: 1.什么是数据:描述事物的特征,提取对自己有用的信息 称之为数据 2..什么是数据库: 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的 为什么要用数据库: 数据要存储起来,用文件不能共享给多个机器,数据库软件就可以实现共享的功能,如MySQL、Oracle、 阅读全文
posted @ 2017-09-04 17:25 Cool· 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 一、 IO模型介绍 对于一个网络通信,IO涉及到两个阶段 1.操作系统等数据来 2.进程或线程等操作系统拷贝数据 记住这两点很重要,因为这些IO模型的区别就是在两个阶段上各有不同的情况。 二、阻塞IO(blocking IO) 例子: 1 from socket import * 2 s=socke 阅读全文
posted @ 2017-09-01 16:48 Cool· 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 一、 协程介绍 单线程下实现并发,提升运行效率, 1.自己控制切换,保存状态 2.遇到I/O切 (单纯的CPU切没意义,只有在遇到I/O的时候切才有效率) 一句话说明什么是线程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。、 需要强调的是: 对比操作系统控制线程的切换,用户在单线 阅读全文
posted @ 2017-08-31 19:45 Cool· 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 1.concurrent.futures模块 直接内置就是 异步的提交 ,如果你想同步也可以实现(p.submit(task,i).result()即同步执行) 2.属性和方法: 1.submit 提交 2.shutdown 关闭池的入口 等池运行结束 1 #进程池 2 from concurren 阅读全文
posted @ 2017-08-31 16:59 Cool· 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 十三、死锁、递归锁 1.所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程,如下就是死锁 1 from threading import Loc 阅读全文
posted @ 2017-08-30 16:51 Cool· 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 理论部分 一、什么是线程: 1.线程:一条流水线的工作过程 2.一个进程里至少有一个线程,这个线程叫主线程 进程里真正干活的就是线程 3.进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。 4.多线程(即多个控制线程)的概念是,在一个进程中存在多个控 阅读全文
posted @ 2017-08-28 17:31 Cool· 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 一、进程补充: 1,生产者消费者模型: 两类角色,一类负责生产数据,另外那类负责数据 生产完放到共享空间,另外那类到空间取数据进行处理 好处: 生产数据的同时可以进行数据的处理,不用等(并发效果) 问题:要有共享空间(1.文件--硬盘,速度慢;2.内存) 要有锁 队列可以完美解决既是内存空间又自带加 阅读全文
posted @ 2017-08-28 16:56 Cool· 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 方式:队列(推荐使用) 一、基本情况 1.可以往队列里放任意类型的数据 2. 队列:先进先出 3. q=Queue(3) #可以设置队列中最多可以进入多少个值,也可以不设置 q.put('first') q.put('second') q.put('third') # q.put('fourht') 阅读全文
posted @ 2017-08-25 17:02 Cool· 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 1 from multiprocessing import Process 2 import os 3 import time 4 def work(): 5 print('%s is working' %os.getpid()) 6 time.sleep(3) 7 if __name__ == ' 阅读全文
posted @ 2017-08-25 16:24 Cool· 阅读(2051) 评论(0) 推荐(0) 编辑
摘要: 1 from multiprocessing import Process,Lock 2 import os 3 import time 4 def work(mutex): 5 mutex.acquire() 6 print('task[%s] 上厕所' %os.getpid()) 7 time. 阅读全文
posted @ 2017-08-25 16:04 Cool· 阅读(188) 评论(0) 推荐(0) 编辑