随笔分类 -  6(网络编程)

摘要:什么是协程:就是低消耗的线程 我们想要开启多任务,但是消耗要比线程更低,这样就诞生了协程(单线程下实现并发的效果,这种效果就是协程) 协程的目的:就是单线程实现并发 协程的优点:相对于操作系统内置的控制cpu切换的程序消耗少一点 协程的缺点:如果程序里面需要使用到协程,必须监控程序里面所有的IO情况 阅读全文
posted @ 2019-01-21 11:19 clyde_S 阅读(199) 评论(0) 推荐(0)
摘要:'''concurrent.futures是最新的开启线程池的包'''import timefrom concurrent.futures import ThreadPoolExecutor #开启线程池导入的模块def task(i): print(i) time.sleep(1) return 阅读全文
posted @ 2019-01-15 14:23 clyde_S 阅读(293) 评论(0) 推荐(0)
摘要:进程池不能无限开,线程也是不能无限开 因此就诞生了池的概念 这个池里面放了一定的数量的进程数或者线程数 进程池的设置 开启多进程的两种方式以及效率对比 PS:进程池开启子进程任务的执行效率要高于for循环开启子进程的效率,因为进程池是根据CPU的数量+1来指定同时进程的数量,而for循环的底层原理是 阅读全文
posted @ 2019-01-15 14:21 clyde_S 阅读(217) 评论(0) 推荐(0)
摘要:使用互斥锁 了解知识:死锁和解决死锁的方法(递归锁)\ 信号量 死锁实例 代码解读: 开始执行函数,此时10个线程同时起来了,第一个线程在执行run,run里面执行两个函数f1和f2,线程1拿到了A锁,线程1又拿到了B锁,此时程序再往下走线程1释放了A锁和B锁,紧接着执行f2函数,此时线程1拿到了B 阅读全文
posted @ 2019-01-15 10:16 clyde_S 阅读(137) 评论(0) 推荐(0)
摘要:为什么会出现线程 进程的缺点: 1、非常消耗资源,计算机不能无限开启子进程 2、如果开了过多的进程,cpu的切换进程的模式下是非常耗时的 因为进程的缺点,线程的出现就是为了解决进程的缺点,线程的开销小于进程 1、所以线程就是轻量级的进程 2、一个进程里面至少有一个线程 3、线程就是具体干活的,执行任 阅读全文
posted @ 2019-01-13 14:08 clyde_S 阅读(626) 评论(0) 推荐(0)
摘要:进程和进程之间的数据是物理隔绝的: 比如qq进程和word进程的数据是不互通的,如果互通则会导致数据混乱,所以进程和进程之间是物理隔绝的,避免数据混乱 进程和进程之间实现数据操作和共享 1、通过文件(硬盘级别) 2、IPC机制-队列(内存级别) 1、通过文件模拟数据互通(硬盘级别) PS:这个程序有 阅读全文
posted @ 2019-01-07 15:02 clyde_S 阅读(326) 评论(0) 推荐(0)
摘要:进程的其他属性 1、p.pid() : #获取进程id 2、os.getpid() : #获取进程id 3、os.getppid() : #获取父进程id 4、p.name: #进程的名称 5、p.daemon: #默认值为False,如果设为True,代表p为后台运行的守护进程,当p的父进程终止时 阅读全文
posted @ 2019-01-07 10:36 clyde_S 阅读(263) 评论(0) 推荐(0)
摘要:串行问题: 多道处理技术 (*******************) 1. 时间的复用,cpu在多个任务之间不断的进行切换 2. 空间的复用 多个任务必须开辟属于自己的内存空间 (物理级别的隔离) 相关概念:(*******************) cpu: 计算执行任务的 不会执行IO操作(I/ 阅读全文
posted @ 2019-01-06 19:59 clyde_S 阅读(384) 评论(0) 推荐(0)
摘要:需要实现并发需要依靠socketserver 模块 socketserver模块下有几个功能 TCP协议实现并发编程步骤详解(客户端不需要改动,改动的就是服务端) 阅读全文
posted @ 2018-12-28 09:50 clyde_S 阅读(356) 评论(0) 推荐(0)
摘要:服务端代码 客户端代码 阅读全文
posted @ 2018-12-25 17:30 clyde_S 阅读(269) 评论(0) 推荐(0)
摘要:socket()模块函数用法 基于TCP协议的套接字程序 netstart -an | findstr 8080 #查看所有TCP和UDP协议的状态,用findstr进行过滤监听8080端口 服务端套接字函数 s.bind() #绑定(主机,端口号)到套接字s.listen() #开始TCP监听s. 阅读全文
posted @ 2018-12-24 11:22 clyde_S 阅读(341) 评论(0) 推荐(0)
摘要:互联网常见架构 分成两类: C/S: C: client (客户端) S: server (服务端) 用处:QQ wechat,手机端的APP等 B/S: B: browser (浏览器) S: server (服务器) 用处:把浏览器当做客户端的场景,专业术语叫做客户端浏览器,如网页QQ,网页微信 阅读全文
posted @ 2018-12-17 19:23 clyde_S 阅读(1714) 评论(0) 推荐(0)
摘要:什么是套接字socket socket把传输层以下的协议都封装成了简单的接口,我编写基于网络通信的软件只需要调用这些接口即可,写出的程序自然是遵循tcp/udp协议的.... 什么是互联网 互联网=物理连接介质+互联网通信协议 ip+port就可以标识全世界范围内独一无二的一个基于网络通信的软件 为 阅读全文
posted @ 2018-12-17 19:22 clyde_S 阅读(447) 评论(0) 推荐(0)