摘要:
select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。 select目前几乎在所有的平台上支持,其良好 阅读全文
摘要:
并发方式 线程(Thread) 多线程几乎是每一个程序猿在使用每一种语言时都会首先想到用于解决并发的工具(JS程序员请回避),使用多线程可以有效的利用CPU资源(Python例外)。然而多线程所带来的程序的复杂度也不可避免,尤其是对竞争资源的同步问题。 然而在python中由于使用了全局解释锁(GI 阅读全文
摘要:
先说说阻塞与非阻塞,这主要和程序等待消息时的状态有关 1、阻塞 程序会阻塞在某一个函数,而不往下执行,就如挂在那里一样,所有的其他业务也都不执行,为一直等到消息到来才往下执行。 2、非阻塞 程序不会阻塞在某一个函数,不等待消息到来,立即返回,往下执行。 举个例子,TCP协议中的send,系统会为其分 阅读全文
摘要:
conf/setting(配置文件) 一般是对utility进行相关设置 index(主文件) main函数触发某个对象的业务逻辑方法 model(数据库) admin 是对数据库的操作,数据库的增删改查操作 utility(公共功能) sql_helper操作数据库的方法(其实就是些连接数据库,关 阅读全文
摘要:
一、paramiko模块的安装 paramiko模块依赖PyCrypto模块,而PyCrypto需要GCC库编译,不过一般发行版的源里带有该模块。这里以centos6为例,直接借助以下命令可以直接完成安装: # yum install gcc python-crypto python-paramik 阅读全文
摘要:
序. multiprocessingpython中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松 阅读全文
摘要:
什么是生产者消费者模式 在工作中,大家可能会碰到这样一种情况:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。在生产者与消费者之间在加个缓冲区,我们形象的称之为仓库,生产者负 阅读全文
摘要:
Python对多线程提供了很好的支持,Python中多线程相关的模块包括:thread,threading,Queue。可以方便地支持创建线程、互斥锁、信号量、同步等特性。 1. thread:多线程的底层支持模块,除了其中提供的 Lock 原语外,一般不建议使用。 2. threading:基于 阅读全文
摘要:
socket基本流程客户端和服务端的交互SocketServer实现异步多线程服务端SocketServer上传文件 socket实现ftp服务器 基本上,Socket 是任何一种计算机网络通讯中最基础的内容。例如当你在浏览器地址栏中输入URL 时,你会打开一个套接字,然后连接到 URL 并读取响应 阅读全文
摘要:
mysql的基本操作python操作mysql之查询python操作mysql之插入数据python操作mysql之批量插入数据python操作mysql之批量获取字典类型数据python操作mysql之fetchone和获取自增ID 二,安装MySQL-python 要想使python可以操作my 阅读全文