随笔分类 -  Python_网络编程

摘要:1.设计模式概述 1.设计模式代表了一种最佳的实践,是被开发人员长期总结,用来解决某一类问题的思路方法,这些方法保证了代码的效率也易于理解 2.设计模式类型:根据23种设计模式可以分为三大类 创建型模式(Creational Patterns): 简单工厂模式,工厂模式,抽象工厂模式,原型模式,建造 阅读全文
posted @ 2020-09-03 23:11 唐雪成 阅读(261) 评论(0) 推荐(0)
摘要:1.WSGI协议概述(Python Web Server Gateway Interface) 1.WSGI允许开发者将选择web框架和web服务器分开,可以混合匹配web服务器和web框架,选择一个适合的配对 2.WSGI协议在不修改服务器和架构代码情况下确保了可以在多个架构下运行web服务器 3 阅读全文
posted @ 2020-09-02 22:19 唐雪成 阅读(385) 评论(0) 推荐(0)
摘要:1.服务器概述 1.硬件服务器(IBM,HP): 能够给用户提供服务的主机,集群 2.软件服务器(HTTPserver Apache Tomcat IIS Nginx) 软件服务器是一个基于网络服务器,能够接收用户请求并给出响应的程序或者架构 软件服务器是一个能在后端提供网络功能逻辑处理数据处理的程 阅读全文
posted @ 2020-09-01 22:33 唐雪成 阅读(1027) 评论(0) 推荐(0)
摘要:1.新浪图集爬虫(闭包+进程池+线程池+多协程) import os import re import urllib.request import time from multiprocessing import Pool # 进程池 from concurrent.futures import T 阅读全文
posted @ 2020-08-31 22:47 唐雪成 阅读(247) 评论(0) 推荐(0)
摘要:1.进程 1.进程可以使用计算机多核 2.进程是资源分配的单位 3.进程的创建要比线程消耗更多的资源效率很低 4.进程空间独立,数据安全性跟好操作有专门的进程间通信方式 5.一个进程可以包含多个线程,线程共享进程资源 6.进程有自己特有资源 7.多进程根据cpu核数不一样可能是并行的 2.线程 1. 阅读全文
posted @ 2020-08-30 21:08 唐雪成 阅读(647) 评论(0) 推荐(0)
摘要:1.IO概述 input 和 output: 是在内存中存在的数据交换操作 内存和磁盘交换: 文件读写, 打印 内存和网络交换: recv send recvfrom, sendto IO密集型程序: 程序中执行大量的IO操作,而较少的需要CPU运行,消耗CPU资源少,运行周期往往比较长 CPU密集 阅读全文
posted @ 2020-08-29 22:58 唐雪成 阅读(248) 评论(0) 推荐(0)
摘要:1.协程概述 1.协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元,协程也称作微线程,在本质只有一个线程在运行 2.在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行 3.协程是通过生成器函数实现,函数间切换的次数以及 阅读全文
posted @ 2020-08-28 22:34 唐雪成 阅读(230) 评论(0) 推荐(0)
摘要:1.同步和互斥 1.目的: 对共有资源的操作会产生争夺,同步互斥是一种解决争夺的方案 2.临界资源: 多个进程或线程都可以操作的资源 3.临界区: 操作临界资源的代码段 4.同步: 同步是一种合作关系,为完成某个任务多进程或多线程之间形成一种协调,按照条件依次执行传递告知资源情况,这种协调可能是因为 阅读全文
posted @ 2020-08-27 22:33 唐雪成 阅读(627) 评论(0) 推荐(0)
摘要:1.线程间的通信方式 1.共享全局变量 2.线程队列(queue) 3.信号量(Semaphore) 2.共享全局变量进行通信 from threading import Thread import time g_nums = [11,22,33] def work1(nums): nums.app 阅读全文
posted @ 2020-08-26 22:01 唐雪成 阅读(380) 评论(0) 推荐(0)
摘要:1.为什么用线程池 1.启动一个新线程的消耗较高且涉及与操作系统的交互,尤其是程序中需要创建大量生存期很短暂的线程,而使用线程池可以很好地提升性能 2.线程池则是创建指定线程数量等待执行事件,当该事件执行结束后该线程并不会死亡,而是回到线程池中变成空闲状态等待执行下一个事件 3.当系统中包含有大量的 阅读全文
posted @ 2020-08-25 22:24 唐雪成 阅读(181) 评论(0) 推荐(0)
摘要:1.线程概述 1.线程是实现多任务编程的一种方法,可以使用计算机多核资源,是计算机核心分配的最小单位,线程由代码段,数据段,和TCB(线程控制块)组成 2.线程又称为轻量级进程,在创建和删除时消耗的计算机资源小,理论上创建和销毁线程的消耗是创建和销毁进程消耗的二十分之一 3.一个进程中的所有线程共享 阅读全文
posted @ 2020-08-24 22:03 唐雪成 阅读(226) 评论(0) 推荐(0)
摘要:1.进程间的通信方式 1.磁盘交互: 速度慢,不安全 2.socket套接字 3.管道通信(Pipe) 4.消息队列(Queue, Manager().Queue, JoinableQueue) 5.共享内存(Value, Array) 6.信号(os.kill, signal) 7.信号量(Sem 阅读全文
posted @ 2020-08-23 22:31 唐雪成 阅读(253) 评论(0) 推荐(1)
摘要:1.为什么用进程池 1.在需要频繁的创建删除较多进程的情况下,导致计算机资源消耗过多 2.进程池则是创建指定进程数量等待执行事件,避免了不必要的创建和销毁过程 2.进程池的使用步骤 1.创建进程池,在池内放入适量的进程,将事件加入进程池的等待队列 2.使用进程池中的进程不断处理事件,所有事件处理后回 阅读全文
posted @ 2020-08-22 22:19 唐雪成 阅读(279) 评论(0) 推荐(0)
摘要:1.进程相关的概念 1.同一个程序每次执行都有不同的进程,因为分配的计算机资源不同,进程由代码段,数据段,和PCB(进程控制块)组成 2.进程的特征: 进程是操作系统资源分配的最小单位,每个进程单独占有4G的虚拟内存,进程之间相互独立,运行不受影响 3.程序和进程的区别 进程: 程序在计算机中一次执 阅读全文
posted @ 2020-08-21 22:57 唐雪成 阅读(198) 评论(0) 推荐(0)
摘要:1.套接字概述 1.套接概述: 套接是进行网络通信的一种手段(socket) 2.套接字分类: 流式套接字(SOCK_STREAM): 传输层基于tcp协议进行通信 数据报套接字(SOCK_DEGAM): 传输层基于udp协议进行通信 原始套接字(SOCK_RAW): 访问底层协议的套接字 3.TC 阅读全文
posted @ 2020-08-20 22:43 唐雪成 阅读(443) 评论(0) 推荐(0)
摘要:1.OSI七层模型: 将功能分开,降低网络传输中的耦合度,每一部分完成自己的功能,开发更加清晰 1.应用层(Application): 提供用户服务,具体内容有特定程序规定 网络服务与最终用户的一个接口 协议有: HTTP FTP TFTP SMTP SNMP DNS 2.表示层(Presentat 阅读全文
posted @ 2020-08-19 22:46 唐雪成 阅读(389) 评论(0) 推荐(0)