摘要: 一、互斥锁 用互斥锁,目的:局部串行(保护自己的数据 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,竞争带来的结果就是错乱,如何控制,就是加锁处理(即局部实行串行)。 模拟抢票实例: 二、GIL互斥锁(保护解释器级别) 在Cpython解释器中,同一 阅读全文
posted @ 2017-12-05 12:10 小杜要加油 阅读(349) 评论(0) 推荐(0)
摘要: 一、守护进程 主进程创建守护进程,守护进程的主要的特征为:①守护进程会在主进程代码执行结束时立即终止;②守护进程内无法继续再开子进程,否则会抛出异常。 实例: 注:打印最后一行主进程代码结束,则守护进程p1应该被终止,可能会有p1任务执行的打印信息‘start123’,因为主进程打印main-时,p 阅读全文
posted @ 2017-12-04 19:25 小杜要加油 阅读(471) 评论(0) 推荐(0)
摘要: 一、多线程相关概念 Threading用于提供线程相关操作,线程是应用程序中的最小单元 1.线程的定义 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程,线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程。车间负责把资源整合到一起,是一 阅读全文
posted @ 2017-11-30 22:35 小杜要加油 阅读(240) 评论(0) 推荐(0)
摘要: 一、背景知识 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 PS:即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证 阅读全文
posted @ 2017-11-30 11:31 小杜要加油 阅读(1127) 评论(0) 推荐(0)
摘要: 一、操作系统的其他所有内容都是围绕进程的概念展开的。 cpu 运行 即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力。将一个单独 的cpu变成多个虚拟的cpu(多道技术:时间多路复用和空间多路复用+硬件上支持隔离),没有进程的抽 象,现代计算机将不复存在。 二、操作 阅读全文
posted @ 2017-11-29 16:06 小杜要加油 阅读(208) 评论(0) 推荐(0)
摘要: 基于udp套接字 udp是无链接的,先启动哪一端都不会报错。 UDP(user datagram protocol,用户数据报协议)是无连接的,面向消息的,提供高效率服务。不会使用块的合并优化算法,, 由于UDP支持的是一对多的模式,所以接收端的skbuff(套接字缓冲区)采用了链式结构来记录每一个 阅读全文
posted @ 2017-11-29 15:23 小杜要加油 阅读(291) 评论(0) 推荐(0)
摘要: 要点: 1、粘包现象 粘包就是在获取数据时,出现数据的内容不是本应该接收的数据,如:对方第一次发送hello,第二次发送world,我放接收时,应该收两次,一次是hello,一次是world,但事实上是一次收到helloworld,一次收到空,这种现象叫粘包 只有TCP有粘包现象,TCP协议是面向流 阅读全文
posted @ 2017-11-28 15:52 小杜要加油 阅读(311) 评论(0) 推荐(0)
摘要: 服务端地址不变 ip + mac 标识唯一一台机器 ip +端口 标识唯一客户端应用程序 套接字: 网络编程 网络编程 一、python提供了两个级别访问的网络服务 二、osi 七层协议 互联网协议按照功能不同分为osi七层或者 tcp/ip 五层 或者 tcp/ip四层 每层运行常见物理设备 1、 阅读全文
posted @ 2017-11-27 15:51 小杜要加油 阅读(1022) 评论(0) 推荐(0)
摘要: 自定制格式化字符串__format__ __str__ , __repr__(优先使用,覆盖面广) 改变对象的字符串显示__str__,__repr__ %s %r 自定制格式化字符串__format__ 格式 例子 __del__ 析构方法 析构方法,当对象在内存中被释放时,自动触发执行。 注:此 阅读全文
posted @ 2017-11-25 01:54 小杜要加油 阅读(344) 评论(0) 推荐(0)
摘要: isinstance(对象,类) 判断这个对象是不是这个类或者这个类的子类的实例化issubclass(子类,类) 判断一个类是否是另一个类的子类vars 看一个类涉及什么变量 # isinstance # from collections import Iterable # print(isinstance([],Iterable)) # 判断是否可迭代 返回True 或者 Flase ... 阅读全文
posted @ 2017-11-24 23:51 小杜要加油 阅读(165) 评论(0) 推荐(0)