2017年12月5日
摘要: 引入 现在绝大部分的Python都是CPython解释器(但不是必须使用CPython解释器),而CPython的一个特性就是有GIL,作用保证解释器级别的代码在运行时不被其他的线程进行修改,即加锁处理。 造成的影响是:在同一个时刻内一个进程内的多个线程只能有一个线程被运行。但是要注意:GIL不是P 阅读全文
posted @ 2017-12-05 20:47 云烟||成雨 阅读(274) 评论(0) 推荐(0) 编辑
  2017年12月4日
摘要: 引入: 由于进程之间相互隔离,因此彼此之前不能相互通信,但有时候我们需要进程之间相互通信,就需要使用队列。即在内存中开辟一段内存空间,使多个进程通过这一内存空间达到互相通信的效果,从而解决进程之间不能通信的问题。 简单的代码示例: 1 from multiprocessing import Queu 阅读全文
posted @ 2017-12-04 18:59 云烟||成雨 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 进程互斥锁 引入: 进程之间数据不共享,但是共享同一套文件系统(如硬盘、键盘、cpu等),所以访问同一个文件,或同一个打印终端,是没有问题的,竞争带来的结果就是错乱,如何控制,就是加锁处理,即进程加锁。 特点: 1.某进程先获取到cpu资源之后,要立即上锁,避免其他人对资源的竞争,只有当该进程解锁( 阅读全文
posted @ 2017-12-04 18:06 云烟||成雨 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 守护(daemon)进程 引入: join()方法可以使一个进程运行完之后再执行下一个进程,而daemon()方法就是主进程的代码执行完毕之后,不需要等待子进程,立即终止子进程。 join()方法和daemon()方法都是改变进程顺序的方法。 特点: 1.daemon()方法要写在start()方法 阅读全文
posted @ 2017-12-04 17:39 云烟||成雨 阅读(295) 评论(0) 推荐(0) 编辑
  2017年12月3日
摘要: 什么是线程: 线程依赖于进程,是真正执行代码的单位。 线程与进程的关系: 1.进程是资源单位,而线程是进程单位里的执行单位。 2.一个进程至少含有一个线程,但一个线程只能隶属于一个进程,且同一个进程中的线程可以共享资源。 并行的概念: 对于有多核的cpu,一个进程中的多个线程可以分别交给不同的CPU 阅读全文
posted @ 2017-12-03 19:42 云烟||成雨 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 什么是进程: 进程就是正在执行的一段程序代码。 进程与程序的关系: 程序只是一堆的代码,而进程是操作系统为这一堆代码执行所创建的内存空间。 进程需要使用的模块: 该模块下需要掌握的方法: start()方法 >开启进程 join()方法 >等待进程的完成 使用进程实现并发 1 from socket 阅读全文
posted @ 2017-12-03 19:23 云烟||成雨 阅读(170) 评论(0) 推荐(0) 编辑
摘要: UDP协议特点: 1.无连接。服务端与客户端传输数据之前不需要进行连接,且没有超时重发等机制,只是把数据通过网络发送出去。也正是因为此特点,所以基于UDP协议的socket的客户端在启动之前不需要先启动服务端。 2.不可靠。数据在本地通过网络发出之后,UDP协议会立即清除本地的缓存,即使对方没有收到 阅读全文
posted @ 2017-12-03 19:01 云烟||成雨 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 什么是黏包问题: 首先黏包问题只会在基于TCP协议的socket编程中出现,出现的原因是:由于TCP是字节流协议,客户端在接受服务短发来的数据时,会把数据组织成数据流接收。若客户端的socket对象调用的recv(size)方法中的size值大于或小于服务端发送的数据的长度,都会使多个数据包合成一个 阅读全文
posted @ 2017-12-03 18:35 云烟||成雨 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 什么是socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 所以,我们无需深入 阅读全文
posted @ 2017-12-03 18:21 云烟||成雨 阅读(367) 评论(0) 推荐(0) 编辑
  2017年11月28日
摘要: 编码: 将文本转换成字节流的过程。即Unicode >特定格式的编码方式,产生特定的字节流保存在硬盘中(一般为utf-8格式)。 解码: 将硬盘中的字节流转换成文本的过程。即特定格式的字节流 >Unicode。 注意: 在内存中写的所有的字符,一视同仁,都是Unicode编码,但只有往硬盘保存或者基 阅读全文
posted @ 2017-11-28 18:41 云烟||成雨 阅读(13080) 评论(0) 推荐(1) 编辑