上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 27 下一页
摘要: 一、I/O模式 对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。所以说,当一个read操作发生时,它会经历两个阶段: 正式因为这两个阶段,linux系统产生了下面五种网络模式的方案。 - 阻塞 I/O(blockin 阅读全文
posted @ 2017-12-13 19:56 Bigberg 阅读(2785) 评论(0) 推荐(0) 编辑
摘要: 一、前言 在事件驱动模型中,我们说当程序遇到I/O操作时,注册 一个回调到事件循环中,主程序继续做其他事情。当I/O操作完成后,再切换回原来的任务。这就是说I/O操作是和程序本身没关系的,其实I/O操作都是由操作系统来完成的。那么程序怎么知道I/O操作完成并切换回来呢?这就要求这个I/O操作处理完成 阅读全文
posted @ 2017-12-13 15:54 Bigberg 阅读(933) 评论(0) 推荐(0) 编辑
摘要: 一、前言 通常,我们写服务器处理模型的程序时,有以下几种模型: (1)每收到一个请求,创建一个新的进程,来处理该请求; (2)每收到一个请求,创建一个新的线程,来处理该请求; (3)每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求 上面的几种方式,各有千秋, 第(1)中方法, 阅读全文
posted @ 2017-12-12 15:30 Bigberg 阅读(12632) 评论(0) 推荐(2) 编辑
摘要: 参考博客: http://www.cnblogs.com/alex3714/articles/5248247.html 一、前言 Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet, 它是以C扩展模块形式接入Python的轻 阅读全文
posted @ 2017-12-12 10:55 Bigberg 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 一、前言 进程间的通信Queue()和Pipe(),可以实现进程间的数据传递。但是要使python进程间共享数据,我们就要使用multiprocessing.Manager。 Manager()返回的manager对象控制了一个server进程,此进程包含的python对象可以被其他的进程通过pro 阅读全文
posted @ 2017-12-08 17:14 Bigberg 阅读(1153) 评论(0) 推荐(0) 编辑
摘要: 一、概述 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一 阅读全文
posted @ 2017-12-08 15:45 Bigberg 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 一、前言 进程池内部维护一个进程序列,当使用时,则去进程池中获取一个进程,如果进程池序列中没有可供使用的进程,那么程序就会等待,直到进程池中有可用进程为止。进程池的作用可以在多进程程序中有效的控制进程运行的个数,维护系统的稳定。 二、multiprocessing.pool 2.1 apply(fu 阅读全文
posted @ 2017-12-07 17:44 Bigberg 阅读(1703) 评论(0) 推荐(0) 编辑
摘要: 参考博客:http://blog.csdn.net/HeatDeath/article/details/72844120 一、前言 线程存在于进程中,对于同一个进程内的线程,该进程内的资源是共享的,各个线程可以竞争获取。而不同的进程有独立的内存空间,它们之间不能直接相互访问,那么进程和进程间如何相互 阅读全文
posted @ 2017-12-07 14:39 Bigberg 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 参考博客:https://www.cnblogs.com/vamei/archive/2012/10/12/2721484.html 一、前言 Python的线程或进程都是调用操作系统的原生线程或进程,但是由于GIL的存在,python多线程并不能利用cpu多核的优势。而python的进程是不存在G 阅读全文
posted @ 2017-12-06 16:13 Bigberg 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 参考博客:https://www.cnblogs.com/itogo/p/5635629.html 一、简介 Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递。其作用可以使程序实现松耦合即 阅读全文
posted @ 2017-11-30 19:59 Bigberg 阅读(357) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 27 下一页