自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 事件循环

 事件循环+回调(驱动生成器)+ epoll(IO多路复用)asyncio 是python用于解决异步IO编程的一整套解决方案 import asyncioimport timeasync def get_html(url): print("get url start") await asyncio.sleep(2) print("get url ...

2018-08-27 14:47:37 376

原创 协程、生成器进阶send, close, throw方法

协程:        可以暂停的函数,并在暂停处传值为了解决:        1.回调模式编码复杂度高        2.同步编程的并性性不高        3.多线程编程需要线程间同步, lock  1.采用同步的方式去编写异步的代码2.使用单线程去切换任务:        1.纯种是由操作系统切换的, 单线程切换意味着我们需要程序员自己去调度任务  ...

2018-08-26 23:11:08 661

原创 五种IO模型 和 IO复用中的select, poll , epoll

阻塞式I/O非阻塞式I/OIO复用信号驱动式I/O异步I/Oselect, poll, epoll 都是IO多路复用的机制。IO多路复用就是通过一种机制,一个进程可以监控多个描述符, 一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select, poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己...

2018-08-24 13:55:31 372

原创 并发,并行,同步,异步, 阻塞, 非阻塞

并发:        指某一个时间段内(非时间点),有多个程序在一个CPU上运行。例如在1s内,有100个程序运行,但只有一个程序在某一时刻通过CPU切换进程在真正地执行。就可以说是1s内并发数量为100 并行:        指在某一个时间点,多个程序在多个CPU上被执行。 同步:        指是代码调用IO操作时,必须等待IO操作完成才能返回的调用方式 ...

2018-08-24 11:09:25 167

原创 ThreadPoolExecutor线程池

为什么要用线程池?(与Semaphore的不同)主线程中可以获取某一个线程的状态或者某一个任务的状态,以及返回值当一个线程完成的时候让主线程能立即知道futures可以让多线程和多进程编码接口一致 import timefrom concurrent.futures import ThreadPoolExecutor, wait, as_completeddef ge...

2018-08-23 17:58:50 275

原创 多线程编程

对于io操作来说,多线程和多进程区别不大1.通过Thread类实例化# 模拟多线程爬虫import timeimport threadingdef get_detail_url(url): print('get detail url start') time.sleep(2) print('get detail url end')def get_...

2018-08-22 14:37:54 230

原创 python 如何实现生成器的

python中函数的工作原理 def foo(): bar()def bar(): pass python会用一个叫做PyEval_EvalFrameEx(c函数)去执行python函数,首先会创建一个栈帧(stack frame)"""python一切皆对象,栈帧对象,字节码对象当foo调用子函数bar, 又会创建一个栈帧所有的栈帧都是分配...

2018-08-21 17:22:15 374

原创 可迭代对象 和 迭代器

迭代器是访问集体内元素的一种方式,一般用来遍历数据迭代器和以下标的访问方式不一样,迭代器是不能返回的,迭代器提供了一种惰性方式数据的方法(即不像list一样,一次性把所有数据存储,而是每次临时生成一个数据)可迭代对象 实现了 __iter__魔法函数(例如list,是一个可迭代的对象)而迭代器实现了不仅实现了__iter__(可以通过继续Iterator类而不用在自己定义的类内部重新定...

2018-08-21 09:49:58 160

原创 __new__ 和 __init__

class User: def __new__(cls, *args, **kwargs): print("now it's in new") return super().__new__(cls) # 如果不返回对象,则不会进入init方法 def __init__(self, name): self.name = nam...

2018-08-20 14:29:44 114

原创 属性查找过程

import numbersclass Intfield:  # 数据属性描述符 ,实现了get和set def __get__(self, instance, owner): return self.value def __set__(self, instance, value): if not isinstance(value, ...

2018-08-20 14:13:00 148

原创 defaultdict

统计序列中,重复元素的个数users = ['someone1', 'someone2', 'someone', 'someone1', 'someone2', 'someone2']# 传统的统计方法users_dict = {}for user in users: if user not in users_dict: users_dict[user] =...

2018-08-17 14:11:54 864

原创 python上下文管理器

上下文管理器协议:  __enter__ 和 __exit__ 构造方法 class Sample: def __enter__(self): print('enter') return self # 一定要返回自身 def __exit__(self, exc_type, exc_val, exc_tb): ...

2018-08-16 15:32:05 135

原创 python类方法,静态方法,实例方法,私有属性

python中,类方法(@classmethod)和静态方法(@staticmethod)都是为了对类参数进行一些预处理的过程,方便使用不同参数对类的调用 静态方法:class Date: def __init__(self, year, month, day): self.year = year self.month = month ...

2018-08-16 13:48:35 628

原创 Fastdfs+nginx 图片存储

FastDFS+Nginx FastDFS +Nginx图片存储    服务器IP:       Tracker:   192.168.1.31       Storage0:  192.168.1.30       Storage1:  192.168.1.33     所需要的安装包均在各服务器的/usr/src目录下,名字如以下:       FastDF...

2018-08-14 11:02:54 597

转载 type, class, object的关系

python中, 一切皆实例,包括内置的类和函数      type是所有类的对象(实例),包括type类本身      object是所有类的基类,object是type的实例,但type类继承object类      像int, str, list, tuple, set, bool, dict这些内置类都是type的实例 python的内置类型:    None...

2018-08-13 11:11:46 233

原创 Fastdfs+nginx

FastDFS+Nginx 1.部署环境已经成功搭建一tracker,两storage的fastdfs系统上tracker : 192.168.1.31storage0: 192.168.1.30storage1: 192.168.1.33 ############只需在storage上操作#############2.下载两个包,放在/usr/srca) 

2017-11-17 18:03:53 282

原创 FTP部署

FTP部署 1.安装环境Centos7.32.通过yum方式安装vsftpdyum -y install vsftpd3.开户服务systemctl restart vsftpdsystemctl enable vsftpd **此此实现windows远程访问ftp文件夹,但不能上传文件或者创建文件夹 4.允许远程匿名上传或创建文件,修改配置文件

2017-11-17 18:01:38 256

原创 Gogs安装部署

gogs安装部署 1.安装环境a) mysql数据库,版本要大于5.7(安装请参考文档Mysql安装部署)b) Nginx(安装步骤请参考文档nginx安装部署)c) Centos7.3系统 2.新建git用户,gogs默认以git用户运行useradd git 3.安装git,可以通过yum安装(git版本大于1.7)yum -y install gi

2017-09-14 13:31:39 3963

WizTree_gf.rar

window系统,快速查看你的电脑硬盘被哪些文件夹占用情况。在硬盘占用快满的时候,能快速扫描找出各目录下的大小

2020-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除