
常见的IO模型
合理的处理IO可以提高系统的处理速度,提高CPU的利用率 通讯中主要包括网络IO和从内核拷贝数据到线程中,内核拷贝到线程中速度很快,因此IO一般在网络中。 网络IO 模型主要包括: blocking IO 阻塞IO nonblocking IO 非阻塞IO IO multiplexing IO多路复

python中常见的锁
通过锁可以保证线程与进程的安全 死锁与递归锁 死锁:当一个线程或者进程抢到了一把锁,且执行下一步的操作时,还需要一把锁,但是这把锁被另外一个进程或者线程拿到了,那么就会出现死锁现象。 死锁示例: from threading import Thread, Lock import time mut

gevent实现协程
协程这个概念在操作系统中是不存在的,但是可以通过协程的理念实现单线程内并发的效果。 协程可以实现单线程内的并发效果,不需要锁,通过协程可以!提高CPU的利用率。 实现方法:通过yield字段,在yield执行时,可以保存当前的函数的状态,然后再执行另外一个函数。 ---yeild 关键字的使用(廖雪

进程与python模块的使用——multiprocess、queue
程序是硬盘中的代码,进程则是程序正在运行状态的抽象 通过进程和线程的切换,可以最大程度的提高cpu的利用率。让程序更快的获取执行结果。 程序是硬盘中的代码,进程则是程序正在运行状态的抽象。 进程的调度算法 先来先服务(FCSC):对长作业有利,对短作业无利 短作业优先调度算法(SPN):对短作业有利

python基础-基于tcp/ip、udp的Scoket使用
操作系统封装了应用层下的OSI协议并抽象出了Sokcet,让应用层的通讯不用关心底层的实现。 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,是操作系统封装完下层协议后封装出来的一组接口。 基于tcp/ip的Scoket使用 通过基于tcp/ip的socket可以进行internet上

python标准库-socketserver的使用
python内置的socket单独是使用时不直接支持并发的,socketserver将socket模块和select模块进行了封装,可以使服务端更方便的处理socket请求。 socketserver是python标准库的模块之一,使用方法: 创建一个请求处理类,继承BaseRequestHandl

编程基础--tcp/ip协议(2)
三次握手与四次挥手就在这里发生。 TCP协议的三次握手和四次挥手在面试中经常会被问到!在一般的web开发中很少使用到,了解tcp可以更清楚的知道你的应用中,数据是如何传输的。 TCP协议 TCP协议的实现在OSI5层协议的传输层。TCP 协议可以保证数据通信的完整性和可靠性,还可以防止丢包。 TCP

编程基础--tcp/ip协议(1)
互联网通讯的多个协议,他们之间不互影响。通过组合成为了计算机间通讯的基础。 osi 5层协议 1. 物理层 将电脑通过硬件连接起来,主要传输1、0信号

python基础-类、对象、元类
类也是对象 面向过程:将复杂的流程化,进而简单化 面向对象:提升程序的解耦合程序,进而提高程序的可扩展性 类与对象 简单定义: # 命名推荐采用大驼峰 class MyClass: name = null # 类的初始化方法,可以省略,self代表实例化的对象。返

mysql必知必会
用了将近4年的mysql,今天在想加强下时,发现平时多是用ORM,偶尔一些为了提高效率或特殊要求会写sql,所以准备读下这本经典。也对MySql基础做个查缺补漏。 本文章中不会对最基础的语句用法做简介,适合查缺 第一章 了解 MySql 本章中主要介绍了有关数据库的一些概念:数据库、表、行、列、数据