9 并发编程-(线程)-守护线程&互斥锁
摘要:一 、守护线程 无论是进程还是线程,都遵循:守护xxx会等待主xxx运行完毕后被销毁 需要强调的是:运行完毕并非终止运行 详细解释: 1、主进程在其代码结束后就已经算运行完毕了(守护进程在此时就被回收), 然后主进程会一直等非守护的子进程都运行完毕后回收子进程的资源(否则会产生僵尸进程),才会结束,
阅读全文
posted @
2018-09-30 21:10
foremost
阅读(152)
推荐(0)
8 并发编程-(线程)-多线程与多进程的区别&Thread对象的其他属性或方法
摘要:1、开启速度 在主进程下开启线程比 开启子进程快 2、pid 对比:在主进程下开启多个线程(进程和线程pid相同);在主进程下开启子进程(pid不相同) 3、同一进程内的线程共享该进程的数据(进程之间的地址是隔离的;同一进程内的线程共享该进程的地址空间) 4、Thread对象的其他属性或方法 主线程
阅读全文
posted @
2018-09-30 20:05
foremost
阅读(230)
推荐(0)
7 并发编程-(线程)-开启线程的两种方式
摘要:thread/英 /θred/ 美 /θrɛd/ 线程 1、threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 2、开启线程的两种方式 2.1、方式一 2.2、方式二 必须有 run函数 3、练习题 3.
阅读全文
posted @
2018-09-30 17:13
foremost
阅读(186)
推荐(0)
6 并发编程-(线程)-线程的基本理论
摘要:1、什么是线程 车间(进程) 流水线(线程) 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程(流水线的工作需要电源,电源就相当于cpu),而一条流水线必须属于一个车间,一个车间的工作过程是一个进程,车间负责把资源整合到一起,是一个资源单位,
阅读全文
posted @
2018-09-30 16:19
foremost
阅读(259)
推荐(0)
5 并发编程-(进程)-队列&生产者消费者模型
摘要:1、队列的介绍 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的 创建队列的类(底层就是以管道和锁定的方式实现): Queue([maxsize]):创建共享的进程队列,Queue是多进程安全的队列,可以使用Q
阅读全文
posted @
2018-09-30 15:05
foremost
阅读(420)
推荐(0)
4 并发编程-(进程)-守护进程&互斥锁
摘要:一、守护进程 主进程创建子进程,然后将该进程设置成守护自己的进程,守护进程就好比崇祯皇帝身边的老太监,崇祯皇帝已死老太监就跟着殉葬了。 关于守护进程需要强调两点: 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemo
阅读全文
posted @
2018-09-30 12:09
foremost
阅读(290)
推荐(0)
3 并发编程-(进程)-join方法
摘要:1、查看当前进程的进程号getpid() 和 其父 进程号 getppid() window下: 2、Process对象的join方法 p.join主线程等待P终止(主线程处于等待的状态,而p处于运行的状态) 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程
阅读全文
posted @
2018-09-29 22:28
foremost
阅读(414)
推荐(0)
考核复习题
摘要:1、简述socket通信原理?什么是socket: Socket是一个网络通信的套接字(接口)socket是应用层和传输层之间的一个抽象层,它把TCP/IP层负责的操作,抽象为几个简单的接口,供应用层调用实现进程在网络中的通信套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。1. 网络通讯三要素:ip地址,端口号。传输协议通信分为客户端和服务端2、粘包的原因和解决办法原因:...
阅读全文
posted @
2018-09-29 12:02
foremost
阅读(234)
推荐(0)
2 并发编程--开启进程的两种方式
摘要:multiprocessing 英 /mʌltɪ'prəʊsesɪŋ/ n. [计][通信] 多重处理 1、multiprocessing 模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu\_count\(\)查看),在python中大部分情况需要使
阅读全文
posted @
2018-09-28 16:11
foremost
阅读(206)
推荐(0)
1 并发编程--进程理论
摘要:1、什么是进程 进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 2、进程与程序的区别 程序仅仅是一堆代码而已,而进程指的是程序的运行过程 需要强调的是:同一个程序执行两次,那也是两个进程,比如打开暴风影音,虽然都是同一个软件,但是一个可以播放苍井空,一个可以播放饭岛爱。 3、并发
阅读全文
posted @
2018-09-28 15:15
foremost
阅读(211)
推荐(0)
0 并发编程--操作系统的发展史与多道技术
摘要:必备的理论基础: 一、操作系统发展史及多道技术 1.第一代计算机(1940~1955):真空管和穿孔卡片 特点:没有操作系统的概念,所有的程序设计都是直接操控硬件。 优点:程序员在申请的时间段内独享整个资源,可以即时地调试自己的程序。 缺点:浪费计算机资源,一个时间段内只有一个人用。 2.第二代就算
阅读全文
posted @
2018-09-27 21:28
foremost
阅读(211)
推荐(0)
3 | 复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
摘要:一、什么是复杂度分析?1.数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”。2.因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。3.分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。4.复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。二
阅读全文
posted @
2018-09-27 20:08
foremost
阅读(237)
推荐(0)
2 如何抓住重点,系统高效地学习数据结构与算法?
摘要:是什么:数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。数据结构是为算法服务的,算法是要作用再特定的数据结构上的。学什么:1. 效率和资源消耗的度量衡--复杂度分析。2. 最常用、最基础的20个数据结构与算法,学习他们的:“来历”、“特点”、“适合解决什么问题”和“实际的应用
阅读全文
posted @
2018-09-27 16:54
foremost
阅读(192)
推荐(0)
1 为什么要学习数据结构与算法
摘要:学习算法并不是为了记住几个排序、二分查找、二叉树遍历,他还能锻炼你的逻辑思维、性能意识, 而且,如果你写代码能力还有欠缺,你还可以通过把学到的数据结构和算法都实现一遍, 这是一种很好很好的锻炼编程能力的方法。所以不要过度追求一定要在项目里手写快排、手写二叉树才能算是用上。 其实,我觉得,数据结构和算
阅读全文
posted @
2018-09-27 16:20
foremost
阅读(276)
推荐(0)
0 从今天起,跨过“数据结构与算法”这道坎
摘要:1、基础学扎实学什么都快,向区块链、人工智能这些看似很新的技术,其实一点都不新。 入门篇时间、空间复杂度分析是数据结构和算法中非常重要的知识点,贯穿整个专栏的学习过程。但同时也是比较难掌握的,所以我用了 2 节课来讲这部分内容,而且还举了大量的实例,让你一边学一边练,真正能掌握复杂度分析,为后面的学
阅读全文
posted @
2018-09-27 16:09
foremost
阅读(308)
推荐(0)
第三模块--不会的知识点整理
摘要:1、继承的实现原理:经典类:深度优先(一路到底),新式类:广度优先 只有在python2中才分新式类和经典类,python3中统一都是新式类 2.在python2中,没有显式的继承object类的类,以及该类的子类,都是经典类 3.在python2中,显式地声明继承object的类,以及该类的子类,
阅读全文
posted @
2018-09-23 11:48
foremost
阅读(355)
推荐(0)
23 网络编程--本章练习题
摘要:1、什么是C/S架构 Client客户端 软件 Server服务端软件 一个C/S架构就是,实现服务端软件与客户端软件基于网络通信。 互联网中处处是C/S架构: Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 栗子: 如12306网站是服务端,你的浏览器是客户
阅读全文
posted @
2018-09-17 20:46
foremost
阅读(344)
推荐(0)
22 网络编程--TCP和UDP实现聊天例子
摘要:1、TCP简单的一次对话,单通信 客户端: 服务端: 2、循环收发数据,单通信(TCP) 客户端: 服务端: 3、双方都说话(TCP) 客户端: 服务端: 4、基于UDP协议实现 客户端: 服务端:
阅读全文
posted @
2018-09-17 20:44
foremost
阅读(428)
推荐(0)
21 网络编程--文件传输
摘要:1、通过socket收发文件(基于TCP协议) 1.1、上传文件(在同一ip下进行) settings: 客户端: 服务端: 1.2、下载文件 客户端: 服务端: 2、上传、下载代码优化(函数版本) 客户端: 服务端: 3、面向对象编写上传、下载文件
阅读全文
posted @
2018-09-17 20:43
foremost
阅读(314)
推荐(0)
20 网络编程 粘包现象与解决方案
摘要:1、什么是粘包现象 当发送网络数据时,tcp协议会根据Nagle算法将时间间隔短,数据量小的多个数据包打包成一个数据包,先发送到自己操作系统的缓存中, 然后操作系统将数据包发送到目标程序所对应操作系统的缓存中,最后将目标程序从缓存中取出,而第一个数据包的长度,应用程序并不知道。 所以会直接取出数据或
阅读全文
posted @
2018-09-16 22:12
foremost
阅读(297)
推荐(0)
19 网络编程--Socket 套接字方法
摘要:1、Socket(也称套接字)介绍 socket这个东东干的事情,就是帮你把tcp/ip协议层的各种数据封装啦、数据发送、接收等通过代码已经给你封装好了 ,你只需要调用几行代码,就可以给别的机器发消息了。 参考https://www.cnblogs.com/weizhixiang/p/6298523
阅读全文
posted @
2018-09-16 11:42
foremost
阅读(1834)
推荐(0)
18 网络编程-TCP/IP各层介绍(5层模型讲解)
摘要:1、TCP/IP五层协议讲解 物理层--数据链路层--网络层--传输层--应用层 我们将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议 就理解了整个互联网通信的原理。 首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所
阅读全文
posted @
2018-09-15 11:42
foremost
阅读(1454)
推荐(0)
17 网络编程 C/S架构介绍
摘要:1、什么是C/S架构 C指的是client(客户端软件),S指的是Server(服务器软件),本章的重点是教大家写一个C/S架构的软件,实现服务端软件与客户端软件基于网络通信。 2、计算机基础的知识-应用软件通过操作系统来操作硬件 应用软件通过操作系统来操作硬件 3、什么是网络 硬件之上安装好操作系
阅读全文
posted @
2018-09-15 10:24
foremost
阅读(1119)
推荐(0)
面向对象--本章总结
摘要:参考:https://blog.csdn.net/a2011480169/article/details/73087097 1、类和对象的概念 2、初始化构造函数\__init_的作用 3、继承 3.1、继承和方法重写 3.2、代码示例2:属性的搜索顺序问题 如果类对象的函数属性进行了封装 3.3、
阅读全文
posted @
2018-09-13 16:42
foremost
阅读(244)
推荐(0)
面向对象--本章总结---练习题
摘要:复习参考:https://blog.csdn.net/a2011480169/article/details/73087097 1、面向对象三大特征 继承:类与类之间,什么是什么的关系,解决代码重用问题 多态:多态:同一个事物的多种形态:比如:动物有,人、狗、猪 多态性,可以在不考虑对象类型的情况下
阅读全文
posted @
2018-09-09 14:38
foremost
阅读(500)
推荐(0)
16 python 异常处理
摘要:1、了解什么是异常处理 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止), 在python中,错误触发的异常如下 2、了解常见异常的种类 2.1、语法错误 .语法错误(这种错误,根本过不了python解释器的语法检测,必须
阅读全文
posted @
2018-09-09 11:55
foremost
阅读(244)
推荐(0)
5.15 python 面向对象的软件开发&领域模型
摘要:1、面向对象的软件开发 参考地址::http://www.cnblogs.com/linhaifeng/articles/6182264.html#_label14 2、领域建模
阅读全文
posted @
2018-09-08 17:26
foremost
阅读(497)
推荐(0)
14 元类
摘要:1、知识储备 exec(object[, globals[, locals]]) exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。 2、引子(类也是对象) 3、元类 4、创建类的两种方式 4.1、方式一:使用class关键字
阅读全文
posted @
2018-09-07 19:41
foremost
阅读(236)
推荐(0)
13 python 常用的内置方法介绍
摘要:1、isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 2、item系列:属性操作 __setitem
阅读全文
posted @
2018-09-07 16:22
foremost
阅读(354)
推荐(0)
12、反射方法
摘要:1、isinstance(obj,cls) 和 issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 2、反射 2.1、什么是反射? 反射的概念
阅读全文
posted @
2018-09-07 12:57
foremost
阅读(288)
推荐(0)
11 绑定方法与非绑定方法
摘要:类中定义的函数分为两大类 1、绑定方法 1.1、绑定到类的方法:用classmethod装饰器的方法 为类量身定制 类.bound_method(),自动将类当作第一个参数传入 (其实对象也可调用,但任然将类当作第一个参数传入) 1.2、绑定到对象的方法:没有被任何装饰器装饰的方法 为对象量身定制
阅读全文
posted @
2018-09-06 21:38
foremost
阅读(270)
推荐(0)
10 python 封装----@property的用法
摘要:1、基本概念 在python中用双下划线开头的方式将属性隐藏起来(设置成私有的) 这种自动变形的特点: 这种变形需要注意的问题是: 1、这种机制也并没有真正意义上限制我们从外部直接访问属性,知道了类名和属性名就可以拼出名字:_类名__属性,然后就可以访问了,如a._A__N 2、变形的过程只在类的定
阅读全文
posted @
2018-09-06 16:39
foremost
阅读(441)
推荐(0)
9 python 多态与多态类
摘要:1、多态定义 多态指的是一类事物的多种形态 比如动物有多种形态:人,狗,猪 2.多态性(指可以在不考虑对象的类型三情况下直接使用对象) 2.1、多态动态绑定(在继承的背景下使用,有时也称为多态性) 多态性是指在不考虑实例类型的情况下使用实例,多态性分为静态多态性和动态多态性 静态多态性:如任何类型都
阅读全文
posted @
2018-09-06 15:06
foremost
阅读(237)
推荐(0)
8 python 抽象类
摘要:1、抽象类 --类似接口 接口的概念: 自己提供给使用者来调用自己功能的方式\方法\入口, 1.1、java中接口 interface 1.2、为何要用接口 2、模仿interface 在python中根本就没有一个叫做interface的关键字,如果非要去模仿接口的概念 可以借助第三方模块:htt
阅读全文
posted @
2018-09-06 12:08
foremost
阅读(389)
推荐(0)
7 python 类的组合
摘要:1、组合与重用性 软件重用的重要方式除了继承之外还有另外一种方式,即:组合 组合指的是,在一个类中以另外一个类的对象作为 1.1、继承的方式 通过继承建立了派生类与基类之间的关系,它是一种'是'的关系,比如白马是马,人是动物。 当类之间有很多相同的功能,提取这些共同的功能做成基类,用继承比较好,比如
阅读全文
posted @
2018-09-06 10:56
foremost
阅读(580)
推荐(0)
4.1、内建函数
摘要:1、range 2、filter 3、reduce 4、sorted
阅读全文
posted @
2018-09-06 09:01
foremost
阅读(202)
推荐(0)
6 python 继承与派生
摘要:1、什么是继承? 继承指的是类与类之间的关系,是一种什么“是”什么的关系,继承的功能之一就是用来解决代码重用问题 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类 父类又可以称为基类或超类 新建的类称为派生类或子类 2、python中类的继承分为:单继承和多继承 (<cla
阅读全文
posted @
2018-09-05 16:22
foremost
阅读(357)
推荐(0)
5 python 内置类
摘要:1、实例属性和类属性 给实例绑定属性的方法是通过实例变量,或者通过self变量: 类属性: 从上面的例子可以看出,在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性。 实例属性属于各个实例所有
阅读全文
posted @
2018-09-04 21:50
foremost
阅读(404)
推荐(0)
4 python 类的专有方法介绍
摘要:1、__init__ : 构造函数,在生成对象时调用 该方法是在对象产生之后才会执行,只用来为对象进行初始化操作,可以有任意代码,但不一定有返回值。 2、_mro_解析方法调用的顺序 继承的实现原理(多继承查找) 3、__call__ 类的专有方法: __init__ : 构造函数,在生成对象时调用
阅读全文
posted @
2018-09-04 21:46
foremost
阅读(1568)
推荐(0)
python 3 属性查找与绑定方法
摘要:1、属性查找 类有两种属性:数据属性和函数属性 (1)类的数据属性是所有对象共享的 31409128314091283140912831409128 (2)类的函数数据是绑定给对象用的,称为绑定到对象的方法 <function OldboyStudent.learn at 0x0000000001E
阅读全文
posted @
2018-09-02 12:14
foremost
阅读(474)
推荐(0)
python 2 类与对象
摘要:1、类与对象的概念 类即类别、种类,是面向对象设计最重要的概念,从一小节我们得知对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体。 那么问题来了,先有的一个个具体存在的对象(比如一个具体存在的人),还是先有的人类这个概念,这个问题需要分两种情况去看 (1)在现实世界中:肯定是先有
阅读全文
posted @
2018-09-01 21:47
foremost
阅读(1736)
推荐(0)
python 1 面向对象基础知识
摘要:1、编码范式 编程 是程序员用特定的 语法+数据结构+算法 组成的代码来告诉计算机如何执行任务的过程 如果把编程比作习武,编程方式就是武林中的各种流派,而在编程的世界里面最常见的两大流派是:面向过程和面向对象 “功夫的流派没有高低之分,只有习武的人才有高低之分“,在编程世界里更是这样,面向过程与面向
阅读全文
posted @
2018-09-01 17:44
foremost
阅读(299)
推荐(0)