摘要: 了解新知识之前需要知道的一些知识 同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 异步(asynchronous): 阻塞(blocking): 非阻塞(non-blocking): #非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前也会立刻 阅读全文
posted @ 2019-06-19 06:58 MiaoQinHong 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 需要注意一下不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池。其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去掉只要你用并发,就会有锁的问题,但是你不能一直去自己加锁吧那么我们就用QUEUE,这样还解决了自动加锁的问题由Queue延伸出的一个点也非常重要的概念。以后 阅读全文
posted @ 2019-06-19 06:53 MiaoQinHong 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 一、死锁现象与递归锁 进程也是有死锁的 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用, 它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程, 如下就是死锁 1 死锁 2 from threa 阅读全文
posted @ 2019-06-19 06:45 MiaoQinHong 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 一多线程的概念介绍 threading模块介绍 threading模块和multiprocessing模块在使用层面,有很大的相似性。 二、开启多线程的两种方式 1 1.创建线程的开销比创建进程的开销小,因而创建线程的速度快 2 from multiprocessing import Process 阅读全文
posted @ 2019-06-19 06:38 MiaoQinHong 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 一、什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。 多线程(即多个控制线程)的概念是,在一个进程中存在多个控制线程,多个控制线程 阅读全文
posted @ 2019-06-19 06:29 MiaoQinHong 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 一、数据共享 1.进程间的通信应该尽量避免共享数据的方式 2.进程间的数据是独立的,可以借助队列或管道实现通信,二者都是基于消息传递的。 虽然进程间数据独立,但可以用过Manager实现数据共享,事实上Manager的功能远不止于此。 1 2 3 4 命令就是一个程序,按回车就会执行(这个只是在wi 阅读全文
posted @ 2019-06-19 06:27 MiaoQinHong 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 一、互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理。 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行的修改,没错,速度是慢了,牺牲了速度而保证了数据安全。 1.上厕所的小例子:你上厕所的时候肯定得锁门 阅读全文
posted @ 2019-06-19 06:21 MiaoQinHong 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 一、multiprocessing模块介绍 python中的多线程无法利用CPU资源,在python中大部分情况使用多进程。python中提供了非常好的多进程包multiprocessing。 multiprocessing模块用来开启子进程,并在子进程中执行功能(函数),该模块与多线程模块thre 阅读全文
posted @ 2019-06-19 06:16 MiaoQinHong 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 背景知识 顾名思义,进程即一个软件正在进行的过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老的也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。所以想要真正了解进程,必须先了解操作系统。详见博客点击进入。 须知 阅读全文
posted @ 2019-06-19 06:13 MiaoQinHong 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 一、什么是粘包 须知:只有TCP有粘包现象,UDP永远不会粘包 粘包不一定会发生 如果发生了:1.可能是在客户端已经粘了 2.客户端没有粘,可能是在服务端粘了 首先需要掌握一个socket收发消息的原理 应用程序所看到的数据是一个整体,或说是一个流(stream),一条消息有多少字节对应用程序是不可 阅读全文
posted @ 2019-06-19 06:06 MiaoQinHong 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 一、网络协议 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构(互联网中处处是C/S架构):B/S架构也是C/S架构的一种,B/S是浏览器/服务器 C/S架构与socket的关系:我们用socket就是为了完成C/S架构的开发 osi七层 引子: 须知一个完整的计算机系统是由硬件 阅读全文
posted @ 2019-06-19 06:01 MiaoQinHong 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 一、创建类的执行流程 二、元类的认识 什么是元类呢?在Python3中继承type的就是元类 二、元类的示例 方式一: # 方式一 class MyType(type): '''继承type的就是元类''' def __init__(self,*args,**kwargs): print("MyTy 阅读全文
posted @ 2019-06-19 05:53 MiaoQinHong 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 一、内容 保证一个类只有一个实例,并提供一个访问它的全局访问点 二、角色 单利 三、使用场景 当类只有一个实例而且客户可以从一个众所周知的访问点访问它时 比如:数据库链接、Socket创建链接 四、优点 对唯一实例的受控访问 单利相当于全局变量,但防止了命名空间被污染 与单利模式功能相似的概念:全局 阅读全文
posted @ 2019-06-19 05:50 MiaoQinHong 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 一、错误与异常 程序中难免会出现错误,而错误分为两种 1.语法错误:(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误:(逻辑错误),比如用户输入的不合适等一系列错误 那什么是异常呢? 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下。异 阅读全文
posted @ 2019-06-19 05:43 MiaoQinHong 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 一、静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静 阅读全文
posted @ 2019-06-19 05:40 MiaoQinHong 阅读(146) 评论(0) 推荐(0) 编辑