随笔分类 - 网络并发
摘要:什么是生产者消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和
阅读全文
摘要:引言 什么是进程间通信 进程间通信(Inter-Process Communication, IPC)是指两个或多个进程之间进行信息交换的过程。它是一种计算机编程技术,用于在不同进程之间共享数据和资源。 如何实现进程间通信 借助于消息队列,进程可以将消息放入队列中,然后由另一个进程从队列中取出。这种
阅读全文
摘要:什么是进程同步(互斥锁) 互斥锁(Mutex)是一种用于多线程编程中控制对共享资源访问的机制。 其作用是保证在同一时刻只有一个线程在访问共享资源,从而避免多个线程同时读写数据造成的问题。 互斥锁的基本原理是在对共享资源进行访问前加锁,使得其他线程无法访问该资源,当访问完成后再解锁,使得其他线程可以进
阅读全文
摘要:僵尸进程(有害) 什么是僵尸进程 僵尸进程是指一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。 通俗来说,僵尸进程是指完成了自己的任务,但父进程没有正确地释放它所占用的系统
阅读全文
摘要:引言 Python中的多进程是通过multiprocessing包来实现的,和多线程的threading.Thread差不多,它可以利用multiprocessing.Process对象来创建一个进程对象。这个进程对象的方法和线程对象的方法差不多也有start(), run(), join()等方法
阅读全文
摘要:引言 进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 狭义定义:进程是
阅读全文
摘要:一、引言 顾名思义,进程就是正在执行的一个过程。进程是对正在运行程序的一个抽象说法。所谓进程,起源于操作系统最核心的概念,操作系统的其他所有内容都是围绕进程的概念展开的。所以想要真正了解进程,必须事先了解操作系统。 二 、为什么要有操作系统 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键
阅读全文
摘要:粘包问题 只有TCP有粘包现象,UDP永远不会粘包 什么是粘包 存在于客户端接收数据时,不能一次性收取全部缓冲区中的数据.当下一次再有数据来时,缓冲区中剩余的数据会和新的数据'粘连'在一起.这就是粘包现象。 ## 什么是粘包? 存在于TCP/IP协议中数据粘连在一起。 ## socket中造成粘包现
阅读全文
摘要:基于UDP的套接字 udp是无链接的,先启动哪一端都不会报错 【1】方法简介 (1)UDP服务端 server = socket() #创建一个服务器的套接字 server.bind() #绑定服务器套接字 inf_loop: #服务器无限循环 conn = server.recvfrom()/co
阅读全文
摘要:基于TCP的套接字 【1】方法简介 tcp是基于链接的 必须先启动服务端 然后再启动客户端去链接服务端 tcp服务端 server = socket() #创建服务器套接字 server.bind() #把地址绑定到套接字 server.listen() #监听链接 inf_loop: #服务器无限
阅读全文
摘要:Socket介绍 假设我们需要编写一个C/S架构的程序,实现数据交互,就需要使用到OSI七层协议,由于它的缺点是分层太多,增加了网络工作的复杂性,所以没有大规模应用。后来人们对 OSI 进行了简化,合并了一些层,最终只保留了 4 层,从下到上分别是接口层、网络层、传输层和应用层,这就是 TCP/IP
阅读全文
摘要:引言 见过比较典型的面试场景是这样的: 面试官:请介绍下三次握手 求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,会应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就成功了。 面试官:然后呢? 求职者:这就是三次握手的过程,很简单
阅读全文
摘要:网络编程 网络编程的概念 1. 地球村 随着广播、电视、互联网的出现,随着各种现代交通方式的飞速发展,人与人之间的时空距离骤然缩短,整个世界紧缩成一个“村落”。 地球村也译为世界村(global village),对地球的一种比喻说法。现代科技的迅速发展,缩小了地球上的时空距离,国际交往日益频繁便利
阅读全文
摘要:一、网络结构模型 C/S和B/S都是互联网中常见的网络结构模型。 引言 刚开始的时候用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。 客户端:用户安装的软件; 服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑。 1.1 什么是C/S模型
阅读全文