说起fork就不得不提COW(Copy On Write),就是“写时拷贝”。也就是当fork发生时,子进程根本不会去拷贝父进程的内存页面,而是与父进程共享。当子进程或父进程需要修改一个内存页面时,Linux就将这个内存页面复制一份给修改者,然后再去修改,这样从用户的角度看,父子进程根本就没有共享什 ...
分类:
系统相关 时间:
2016-10-17 13:20:32
阅读次数:
182
常用结构:1.Event类,事件主要用于Greenlet之间的异步通信e=gevent.event.Event()->Event说明:创建一个信号对象e.set()->None说明:设置标志位e.clear()->None说明:清除标志位e.wait()->None说明:阻塞直至标志位被设置#!/usr/bin/envpython
#-*-coding:utf-8-*-
"""
..
分类:
编程语言 时间:
2016-10-17 07:27:07
阅读次数:
282
Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。 子进程永远返回0,而父进程返回子进程的ID。这样做的理 ...
分类:
编程语言 时间:
2016-10-14 20:20:50
阅读次数:
209
线程和进程的区别(1)线程共享内存空间;进程的内存是独立的 (2)同一个进程的线程之间可以直接交流;两个进程想通信,必须通过一个中间代理来实现 (3)创建新线程很简单; 创建新进程需要对其父进程进行一次克隆 (4)一个线程可以控制和操作同一进程里的其他线程;但是进程只能操作子进程 (5)改变主线程( ...
分类:
编程语言 时间:
2016-10-14 17:26:03
阅读次数:
133
简单介绍:此模块主要为了解决PYTHON非真正多线程导致无法充分利用多核CPU资源问题,提供了Process,Lock,Semaphore,Event,Queue,Pipe,Pool等组件实现子进程,通信,共享数据,同步方式等快速安装:pipinstallmultiprocessing公共属性:multiprocessing.current_process()->Process..
分类:
编程语言 时间:
2016-10-14 00:41:06
阅读次数:
249
http://blog.csdn.net/byrsongqq/article/details/6339240 网络编程中设计并发服务器,使用多进程与多线程 ,请问有什么区别? 答案一: 1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。 2,线程:相对与进程而言,线程是一个 ...
分类:
编程语言 时间:
2016-10-13 23:38:50
阅读次数:
216
1、施行一个外部程序,什么时候必须用fork+execl而不能直接system() (http://www.myexception.cn/linux-unix/1341326.html) 1.1、system 是 fork/exec 的一个 wrapper, 灵活性不如 fork 1.2、你想不阻塞 ...
分类:
系统相关 时间:
2016-10-12 08:54:24
阅读次数:
218
MPM多进程处理模块MPM分为三种模式:1,prefork进程模型,每个进程处理一个请求,模式:父进程——————>多个子进程——————>一个子进程处理一个请求2,worker线程模型,每个进程衍生出多个线程,每个线程处理一个请求,模式:父进程——————>多个子进程—..
分类:
Web程序 时间:
2016-10-11 00:47:32
阅读次数:
161
多进程、协程、事件驱动及select poll epoll 目录 -多线程使用场景 -多进程 --简单的一个多进程例子 --进程间数据的交互实现方法 通过Queues和Pipe可以实现进程间数据的传递,但是不能实现数据的共享 Queues Pipe 通过Manager可以不同进程间实现数据的共享 - ...
分类:
系统相关 时间:
2016-10-08 02:03:22
阅读次数:
243
目录 -多线程使用场景 -多进程 --简单的一个多进程例子 --进程间数据的交互实现方法 通过Queues和Pipe可以实现进程间数据的传递,但是不能实现数据的共享 Queues Pipe 通过Manager可以不同进程间实现数据的共享 --进程同步,即进程锁 --进程池 -协程 --先用yield ...
分类:
系统相关 时间:
2016-10-05 17:24:29
阅读次数:
290