摘要: 数据库 一 数据库是什么 为了远程访问并处理这台共享机器上的文件,我们必须为我们的程序额外写一段代码,完成如下功能: 我们写任何程序都需要有这段代码,于是我们提取这段代码,写成一个专门的处理软件,这就是mysql等数据库管理软件的由来,但mysql解决的不仅仅是数据共享的问题,还有查询效率,安全性等 阅读全文
posted @ 2017-10-20 16:08 程先生_Python 阅读(201) 评论(0) 推荐(0)
摘要: 一 IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 同步: 异步: 阻塞: 非阻塞: 小结: 各种IO的特点和区别: IO发生时涉及的对象和步骤: 对于一个network IO (这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的process 阅读全文
posted @ 2017-10-20 16:06 程先生_Python 阅读(99) 评论(0) 推荐(0)
摘要: 一: 引子 单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发 并发的本质:切换+保存状态 ps:在介绍进程理论时,提及进程的三种执行状态,而线程才是执行单位,所以也可以将上图理解为线程的三种状态 对于单线程下,我们不可避免程序中出现io操作,但如果我们能在自己的程序中 阅读全文
posted @ 2017-10-20 16:01 程先生_Python 阅读(95) 评论(0) 推荐(0)
摘要: 一 :什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 多线程(即多个控制线程)的概念是,在一个进程中存在多个控制线程,多个控制线程共享该进程的地址空间,相当于一个车间内有多条流水线,都共用一个车间的资源 二: 线程的创建开销小 创建进程的开销要远大于线程 三 :线程与 阅读全文
posted @ 2017-10-20 16:00 程先生_Python 阅读(128) 评论(0) 推荐(0)
摘要: 一 :介绍 这篇文章透彻的剖析了GIL对python多线程的影响,强烈推荐看一下:http://www.dabeaz.com/python/UnderstandingGIL.pdf 二 :GIL介绍 GIL本质就是一把互斥锁,既然是互斥锁,所有互斥锁的本质都一样,都是将并发运行变成串行,以此来控制同 阅读全文
posted @ 2017-10-20 15:57 程先生_Python 阅读(286) 评论(0) 推荐(0)
摘要: JoinableQueue 共享内存 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合 通过消息队列交换数据。这样极大地减少了对使用锁定和其他同步手段的需求, 还可以扩展到分布式系统中 进程间通信应该尽量避免使用本节所讲的共享数据的方式 进程池 阅读全文
posted @ 2017-10-20 15:55 程先生_Python 阅读(349) 评论(0) 推荐(0)
摘要: import socketserver class MyServer(socketserver.BaseRequestHandler): def handle(self): conn = self.request conn.sendall(bytes('欢迎致电 10086,请输入1xxx,0转人工 阅读全文
posted @ 2017-10-20 15:51 程先生_Python 阅读(58) 评论(0) 推荐(0)
摘要: 一 multiprocessing模块介绍 http://www.cnblogs.com/linhaifeng/articles/7428874.html#_label1 二 Process类的介绍 创建进程的类: 参数介绍: 方法介绍: 属性介绍: 三 Process类的使用 注意:在window 阅读全文
posted @ 2017-10-20 15:39 程先生_Python 阅读(108) 评论(0) 推荐(0)