随笔分类 -  网路编程

摘要:# 协程 + 事件循环 import asyncio async def func(): # async关键字不能和yield一起使用,引入coroutine装饰器来装饰downloader生成器。 print('start') # 异步调用asyncio.sleep(1): await asyncio.sleep(1) # time.sleep 异步的接口... 阅读全文
posted @ 2019-03-31 16:15 慕沁
摘要:多进程 多线程 协程+IO操作 twisted 基于事件循环的异步非阻塞模块 twisted实现原理: 用的select监测变换 自定义twisted 阅读全文
posted @ 2018-10-14 15:18 慕沁
摘要:# 线程,进程 scoket模仿浏览器向服务端发请求 如何实现高性能 使用twisted实现高并发 #!/usr/bin/env python # -*- coding:utf-8 -*- from twisted.web.client import getPage, defer from twis 阅读全文
posted @ 2018-09-11 12:45 慕沁
摘要:同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回。按照这个定义, 其实绝大多数函数都是同步调用。但是一般而言,我们在说同步、异步的时候, 特指那些需要其他部件协作或者需要 阅读全文
posted @ 2018-04-18 14:33 慕沁
摘要:由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。 multiprocessing包是Python中的多进程管理包。与threading.Thread类似,它可以利用multiprocessing.Proce 阅读全文
posted @ 2018-04-15 13:45 慕沁
摘要:线程的调用方式:threanding模块 阅读全文
posted @ 2018-04-15 12:51 慕沁 阅读(176) 评论(0) 推荐(0)
摘要:列表是不安全的数据结构 思考:如何通过对列来完成上述功能? queue is especially useful in threaded programming when information must be exchanged safely between multiple threads. q 阅读全文
posted @ 2018-04-14 21:02 慕沁 阅读(1976) 评论(0) 推荐(0)
摘要:python 的解释器,有很多种,但市场占有率99.9%的都是基于c语言编写的CPython. 在这个解释器里规定了GIL。 In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple nati 阅读全文
posted @ 2018-04-14 20:56 慕沁 阅读(5258) 评论(0) 推荐(1)
摘要:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。 建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提 阅读全文
posted @ 2018-04-13 13:58 慕沁
摘要:from multiprocessing import Process,Pool import time,os def Foo(i): time.sleep(1) print(i) print("son",os.getpid()) return "HELLO %s"%i def Bar(arg): 阅读全文
posted @ 2018-04-13 11:06 慕沁 阅读(257) 评论(0) 推荐(0)
摘要:一、什么是线程 一、什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。 多线程(即多个控制线程)的概念是,在一个进程中存在多个控制线 阅读全文
posted @ 2018-04-13 10:52 慕沁 阅读(158) 评论(0) 推荐(0)
摘要:背景知识 背景知识 顾名思义,进程即一个软件正在进行的过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老的也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 一、什么是进程 进程:正在进行的一个过程或是一个任务。 阅读全文
posted @ 2018-04-13 10:48 慕沁 阅读(213) 评论(0) 推荐(0)
摘要:“并行”是指无论从微观还是宏观,二者都是一起执行的,就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。 而“并发”在微观上不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行,从宏观外来看,好像是这些进程都在执行,这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的 阅读全文
posted @ 2018-04-13 09:47 慕沁 阅读(200) 评论(0) 推荐(0)
摘要:一、什么是粘包 须知:只有TCP有粘包现象,UDP永远不会粘包 粘包不一定会发生 TCP发生粘包的两种情况: 1.由于Nagle算法,将多次间隔小且数量小的数据,合并成一个数据块 2.数据量发送大,接受少 首先需要掌握一个socket收发消息的原理 应用程序所看到的数据是一个整体,或说是一个流(st 阅读全文
posted @ 2018-04-12 19:59 慕沁