随笔分类 - 网络编程
摘要:一、IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下: 同步:一件事情做完再做另一件事情 异步:同时做多件事情 阻塞:sleep、input、join、shutdown、get、acquire、wait accept、recv、recvfrom 非阻塞:strblocking(False)
阅读全文
摘要:一、线程池(concurrent.futures模块) #1 介绍 concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 ProcessPoolExecutor: 进程池,提供异步调用 Both implement the
阅读全文
摘要:一、锁 线程为什么要有锁: += 、-= 赋值操作数据不安全(要经过取值、计算、放回值,3部操作) pop 、append 都是数据安全的(只有添加和删除,一次操作) 队列也是数据安全的 1、同步锁 import os, time from threading import Thread def w
阅读全文
摘要:一、数据共享 from multiprocessing import Manager 把所有实现了数据共享的比较便捷的类都重新又封装了一遍,并且在原有的multiprocessing基础上增加了新的机制list、dict 机制:支持的数据类型非常有限 list、dict都不是数据安全的,需要自己加锁
阅读全文
摘要:一、进程间通信 队列和管道(multiprocess.Queue、multiprocess.Pipe) 进程间通信:IPC(inter-Process Communication) 1、队列 概念介绍: 创建共享的进程队列,Queue是多进程的安全的队列,可以使用Queue实现多进程之间的数据传递。
阅读全文
摘要:一、multiprocess.process模块 1、join方法 阻塞主进程,等待子进程执行完毕再放开阻塞 import time import random from multiprocessing import Process # 单个子进程 def func(index): time.sle
阅读全文
摘要:手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出
阅读全文
摘要:一、socket的更多方法介绍 # 服务端套接字函数 s.bind() # 绑定(主机,端口号)到套接字 s.listen() # 开始TCP监听 s.accept() # 被动接受TCP客户的连接,(阻塞式)等待连接的到来 # 客户端套接字函数 s.connect() # 主动初始化TCP服务器连
阅读全文
摘要:一、软件开发的机构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:QQ、微信、网盘等这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯,而这两个分类又对应了两个软件开发的架
阅读全文
摘要:计算机网络的发展及基础网络概念 问题:网络到底是什么?计算机之间是如何通信的? 早期 : 联机 以太网 : 局域网与交换机 广播 主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可
阅读全文
摘要:# ### tcp 循环发消息 import socket # 1.创建一个对象 sk = socket.socket() sk.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) # 2.绑定ip,端口号,在网络上注册该主机 sk.bind( (
阅读全文
摘要:一、服务端和客户端 BS架构 (腾讯通软件:server+client) CS架构 (web网站) C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发 二、OSI七层网络模型 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 每层运行常见物理设
阅读全文

浙公网安备 33010602011771号