- 博客(8)
- 收藏
- 关注
原创 Django中间件
Django中间件是一个轻量级,底层的插件系统,可以接入Django的请求和响应的处理过程,修改Django的输入和输出,中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预。 Django1.9版本以后,我们从浏览器发出一个请求 Request,得到一个响应后的内容 HttpResponse ,...
2019-07-20 16:44:19 117
原创 @classmethod、@staticmethod、@classonlymethod的区别
实例方法、静态方法与类方法的含义 class Test(object): @classmethod def test1(cls, *args, **kwargs): """类方法""" pass @staticmethod def test2(): """静态方法""" pass def ...
2019-07-20 15:05:15 266
原创 GIL全局解释器锁
GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。(JPython没有GIL) 那么CPython实现中的GIL又是什么呢?GIL全称Global Interpreter Lock (全局解释器锁) 为什么会有GIL GIL的全称是 Global Interpreter Lock,全局解释器锁。之所以叫这个名字,是因...
2019-07-19 16:25:11 127
原创 僵尸进程、孤儿进程
僵尸进程:进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait和waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中的这些进程是僵尸进程。 孤儿进程:父进程退出,子进程还在运行的这些子进程都是孤儿进程,孤儿进程将被init进程所收养,并由init进程对它们完成状态手机工作。 避免僵尸进程的方法: 1.fork 两次用孙子进程去完成子进程的任务; 2.用 w...
2019-07-19 16:18:52 103
原创 Python单例模式(Singleton)的N种实现
单例是一种设计模式,应用该模式的类只会生成一个实例。 单例模式保证了在程序的不同位置都可以且仅可以取到同一个对象实例:如果实例不存在,会创建一个实例;如果已存在就会返回这个实例。因为单例是个类,所以你也可以为其提供相应的操作犯法,以便于对这个实例进行管理。 举个例子来说,比如你开发一款游戏软件,游戏中需要有“场景管理器”,这样一种东西,,用来管理游戏场景的切换、资源载入、网络连接等等任务。这个管理...
2019-07-19 11:20:54 373
原创 Python内存管理机制和垃圾回收机制
内存管理机制有三种 引用计数 垃圾回收 内存池 一、引用计数 引用计数是一种非常高效的内存管理手段,当一个python对象被引用时其引用计数增加一,当期不在引用时引用计数减少1,当引用计数等于0的时候对象就被删除了 二、垃圾回收(重点) 引用计数 引用计数也是一种垃圾回收机制,而且是一种最直接最简单的垃圾回收技术。 在Python中每一个对象的核心就是一个结构体PyObject,它的内部有一...
2019-07-18 21:42:14 229
原创 并发、并行、同步、异步、阻塞、非阻塞
并发、并行、同步、异步、阻塞、非阻塞 并发、并行 并发是指一个时间段内、有几个程序在同一CPU上运行,但是任意时刻只有一个程序在CPU上运行 并行是指在任意时刻点上,有多个程序同时运行在多个CPU上 同步、异步 同步是指代码调用IO操作时,必须等待IO操作完成才返回的调用方式。 异步是指代码调用IO操作时,不必等IO操作完成就返回的调用方式。 阻塞、非阻塞 阻塞是指调用函数的时候当前线程...
2019-07-18 11:01:05 156
转载 粘包
粘包 1、粘包的概念 多个数据包被连续存储于连续的缓存中,在数据包进行读取时由于无法确认发生方的发送边界,而采用某一估测值大小来进行数据读出,若双方的size不一致时就会使发送方的若干包数据在接收方接收时粘成一个包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾,如发送方第一次发送"hello",第二次"world",正常接收是第一次"hello",第二次"world",实际上读出来的是"he...
2019-07-18 10:13:30 235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人