摘要: TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失,如果网络上的延时突然增加,就可能导致丢包,如果TCP只进行重传丢失的报文,则会导致网络的负担更重,所以TCP就使用拥塞控制机制来处理拥塞问题,拥塞控制主要有四个算法:1.慢启动 2.拥塞避免 3.快速重传 阅读全文
posted @ 2017-10-15 21:59 BGPY 阅读(379) 评论(0) 推荐(0) 编辑
摘要: TCP的三次握手和四次挥手流程大家都很清楚,这里只对其中的某些细节进行学习。图1是三次握手与四次挥手的状态图 图1 TCP正常连接建立和终止所对应的状态 问题一:为什么是三次握手,而不是四次握手或者是二次握手 主要的解释有三点,逐一叙述: 1.由图1可以看到第二次握手其实是服务器的SYN与ACK一起 阅读全文
posted @ 2017-10-07 21:21 BGPY 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 转载自: MySQL事务隔离级别详解 SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的 阅读全文
posted @ 2017-10-04 21:09 BGPY 阅读(167) 评论(0) 推荐(0) 编辑
摘要: Python中使用@staticmethod这个装饰器让方法变为静态方法 一:定义 @staticmethod: 首先它是一个装饰器,被装饰的方法不需要隐含的参数,对象和对象的实例都可以调用静态方法 类方法是通过@classmethod进行装饰,被装饰的方法第一个隐含参数是cls,同样对象和对象的实 阅读全文
posted @ 2017-09-28 22:31 BGPY 阅读(381) 评论(0) 推荐(0) 编辑
摘要: Python事件机制 事件机制:这是线程间最简单的通信机制:一个线程发送事件,其他线程等待事件事件机制使用一个内部的标志,使用set方法进行使能为True,使用clear清除为falsewait方法将会阻塞当前线程知道标记为True 结果: 阅读全文
posted @ 2017-09-24 14:42 BGPY 阅读(3245) 评论(0) 推荐(0) 编辑
摘要: 本节主要举一个简单的线程间通信的例子,利用线程安全的数据结构queue.Queue保存线程间通信的内容, 阅读全文
posted @ 2017-09-23 22:37 BGPY 阅读(460) 评论(0) 推荐(0) 编辑
摘要: Python多为线程编程提供了两个简单明了的模块:thread和threading,Python3中已经不存thread模块,已经被改名为_thread,实际优先使用 threading模块。 1.Python创建线程的两种方法: ①:创建一个threading.Thread对象,在其初始化函数中将 阅读全文
posted @ 2017-09-23 21:38 BGPY 阅读(1907) 评论(0) 推荐(1) 编辑
摘要: Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库 查看git 用户名和邮箱地址:git config user.namegit config user.email修改用户名和邮箱地址git config user.name 阅读全文
posted @ 2017-09-12 19:46 BGPY 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 下面大段内容转自:知乎 作者灵剑 这是个和多态有关的问题,Python中关于迭代有两个概念,第一个是Iterable,第二个是Iterator,协议规定Iterable的__iter__方法会返回一个Iterator, Iterator的__next__方法(Python 2里是next)会返回下一 阅读全文
posted @ 2017-09-10 20:41 BGPY 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 按照字典值的大小对字典进行排序 1. 利用zip函数将key值和value值位置进行颠倒,再使用sorted进行排序 例如: 1 2 3 4 5 6 7 8 from random import randint d= {k:randint(0,20) for k in 'abcdefg'} #{'f 阅读全文
posted @ 2017-09-10 16:27 BGPY 阅读(1412) 评论(0) 推荐(0) 编辑