随笔分类 - 计算机网络基础
初次学习计算机网络内容
摘要:进程和线程是不可以无限制的创建 因为硬件的发展赶不上软件,有物理极限,如果我们在编写代码的过程中无限制的创建进程或者线程会导致计算机崩溃 池 降低程序的执行效率,但是保证了计算机硬件的安全 进程池 提前创建好固定数量的进程供后续程序的调用,超出则等待 线程池 提现创建好固定数量的线程供后续程序的调用
阅读全文
摘要:# 官方文档对GIL的解释 In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at onc
阅读全文
摘要:线程理论 进程 进程其实是资源单位,表示一块内存空间 线程 线程才是执行单位,表示真正的代码指令 我们可以将进程比喻是车间,线程是车间里面的流水线 一个进程内部至少含有一个线程 1.一个进程内可以开设多个线程 2.同一个进程下的多个线程数据是共享的 3.创建进程与线程的区别 创建进程的消耗要远远大于
阅读全文
摘要:软件开发架构 C/S架构 客户端与服务端 作为服务端必备的条件; 24小时不间断提供服务 固定的IP地址 能够同时服务多个人 B/S架构 网页端与服务器端 两个架构的优劣势: C/S架构: 优势:不同公司独立开发,能够高度定制化客户端 劣势:需要下载 B/S架构: 优势:不需要下载,可以直接访问 劣
阅读全文
摘要:同步与异步 用来表达任务的提交方式 同步 提交完任务之后原地等待任务的返回结果,期间不做任何事情 异步 提交完任务之后不原地等待任务的返回结果,直接去做其他事有结果自动通知 阻塞与非阻塞 用来表达任务的执行状态 阻塞 阻塞态 非阻塞 就绪态或者运行态 综合使用 同步阻塞 '效率最低' 同步非阻塞 异
阅读全文
摘要:并发编程理论 """ 计算机中真正干活的是CPU """ 操作系统发展史: 1.穿孔卡片阶段 计算机很庞大,使用很麻烦,一次只能给一个人使用,期间很多时候计算机都不工作 好处:程序员独占计算机,为所欲为 坏处:计算机利用率太低,浪费资源 2.联机批处理系统 提前使用磁带一次性录入多个程序员编写的程序
阅读全文
摘要:黏包现象 1.服务端连续执行三次recv # 服务端收3次 2.客户端连续执行三次send # 客户端发3次 问题:服务端一次性接收到了客户端3次的消息,该现象称为'黏包现象' 黏包现象产生的原因: 1.不知道每次的数据到底多大 2.TCP也成为流式协议:数据像水流一样绵绵不绝没有间隔(TCP会针对
阅读全文
摘要:如果我们需要编写基于网络进行数据交互的程序,意味着我们需要自己通过代码来控制我们之前所学习的OSI七层(很繁琐,复杂,类似于我们自己编写操作系统) socket类似于操作系统,封装了丑陋复杂的接口提供简单快捷的接口 socket也叫套接字 基于文件类型的套接字家族(单机) AF_UNIX 基于网络类
阅读全文
摘要:1.什么是网络编程? 基于网络编写代码,能够实现数据的远程交互 2.学习网络编程的目的 能够开发cs架构的软件 3.网络编程的起源 """ 最早起源于美国军事 想实现计算机之间数据的交互 """ 4.网络编程必备条件 数据的远程交互 1.早期的电话 电话线 2.早期的大屁股电脑 网线 3.笔记本电脑
阅读全文
摘要:软件开发架构 1.C/S架构 Client:客户端 Server:服务端 """ 我们使用计算机下载下来的一个个app本质是各大互联网公司的客户端软件 通过客户端软件,我们就可以体验到各个互联网公司提供的服务 """ ps:一般情况下客户端与服务端交互需要互联网 但是有些不需要(因为客户端和服务端都
阅读全文