2018年9月26日
摘要: 协程介绍 协程:是单线程下的并发,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。 需要强调的是: 对比操作系统控制线程的切换,用户在单线程内控制协程的切换 优点如下: 缺点如下: 总结协程特点: 必须在只有一个单线程 阅读全文
posted @ 2018-09-26 17:03 海贼王&路飞 阅读(131) 评论(0) 推荐(0) 编辑
  2018年9月25日
摘要: collections模块 在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。 1.namedtuple: 生成可以使用名字来访问 阅读全文
posted @ 2018-09-25 20:14 海贼王&路飞 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出 阅读全文
posted @ 2018-09-25 17:07 海贼王&路飞 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 锁 同步锁 from threading import Thread,Lock import os,time def work(): global n lock.acquire() temp=n time.sleep(0.1) n=temp-1 lock.release() if __name__ 阅读全文
posted @ 2018-09-25 17:06 海贼王&路飞 阅读(126) 评论(0) 推荐(0) 编辑
  2018年9月21日
摘要: 理论知识 全局解释器锁GIL Python代码的执行由Python虚拟机(也叫解释器主循环)来控制。Python在设计之初就考虑到要在主循环中,同时只有一个线程在执行。虽然 Python 解释器中可以“运行”多个线程,但在任意时刻只有一个线程在解释器中运行。 对Python虚拟机的访问由全局解释器锁 阅读全文
posted @ 2018-09-21 23:10 海贼王&路飞 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 线程概念的引入背景 进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,我们允许多 阅读全文
posted @ 2018-09-21 17:03 海贼王&路飞 阅读(129) 评论(0) 推荐(0) 编辑
  2018年9月20日
摘要: 进程间通信 IPC(Inter-Process Communication) 队列 创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。 Queue([maxsize]) 创建共享的进程队列。maxsize是队列中允许的最大项数。如果省略此参数,则无大小限制 阅读全文
posted @ 2018-09-20 20:35 海贼王&路飞 阅读(160) 评论(0) 推荐(0) 编辑
  2018年9月19日
摘要: multiprocess模块 multiprocess不是一个模块而是python中一个操作、管理进程的包。 之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含了和进程有关的所有子模块。由于提供的子模块非常多,为了方便大家归类记忆,我将这部分大致分为四个部分:创建进程部分,进 阅读全文
posted @ 2018-09-19 21:32 海贼王&路飞 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的 阅读全文
posted @ 2018-09-19 15:33 海贼王&路飞 阅读(247) 评论(0) 推荐(0) 编辑
  2018年9月17日
摘要: 黏包现象 基于tcp协议实现的黏包 from socket import * import subprocess ip_port=('127.0.0.1',8888) BUFSIZE=1024 tcp_socket_server=socket(AF_INET,SOCK_STREAM) tcp_soc 阅读全文
posted @ 2018-09-17 20:44 海贼王&路飞 阅读(125) 评论(0) 推荐(0) 编辑