随笔分类 -  网络并发部分

摘要:【一】未加锁会产生的问题 所有子线程都会进行阻塞操作,导致最后的改变只是改了一次 from threading import Thread import time money = 100 def task(): global money # 模拟获取到车票信息 temp = money # 模拟网络 阅读全文
posted @ 2024-05-29 12:28 Ligo6 阅读(7) 评论(0) 推荐(0) 编辑
摘要:【一】主线程死亡,子线程未死亡 主线程结束运行后不会马上结束,而是等待其他非守护子线程结束之后才会结束 如果主线程死亡就代表者主进程也死亡,随之而来的是所有子线程的死亡 from threading import Thread import time def work(name): print(f' 阅读全文
posted @ 2024-05-29 12:27 Ligo6 阅读(5) 评论(0) 推荐(0) 编辑
摘要:【一】threading模块开启线程的两种方式 【1】直接调用Thread from threading import Thread import time def task(name): print(f'{name} is starting') time.sleep(3) print(f'{nam 阅读全文
posted @ 2024-05-29 12:26 Ligo6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:【一】什么是线程 【1】介绍 每个进程有一个地址空间,而且默认就有一个控制线程 线程就是一条流水线工作的过程 所以进程只是用来把资源集中到一起,而线程才是cpu上的执行单位 多线程的概念是在一个进程中存在多个控制线程,多个控制线程共享该进程的地址空间,相当于一个车间内有多条流水线,都共用一个车间的资 阅读全文
posted @ 2024-05-29 12:25 Ligo6 阅读(6) 评论(0) 推荐(0) 编辑
摘要:【一】管道介绍 multiprocessing模块支持两种形式除了队列还有管道 【1】创建管道的类 # 在进程之间创建一条管道,并返回元组(conn1,conn2),其中conn1,conn2表示管道两端的连接对象 # 必须在产生Process对象之前产生管道 from multiprocessin 阅读全文
posted @ 2024-05-28 16:53 Ligo6 阅读(20) 评论(0) 推荐(0) 编辑
摘要:【一】引入 【1】什么是进程间通信 进程间通信(Inter-Process Communication, IPC)是指两个或多个进程之间进行信息交换的过程 【2】如何实现进程间通信 借助于消息队列,进程可以将消息放入队列中,然后由另一个进程从队列中取出 这种通信方式是非阻塞的,即发送进程不需要等待接 阅读全文
posted @ 2024-05-28 16:51 Ligo6 阅读(15) 评论(0) 推荐(0) 编辑
摘要:【一】什么是互斥锁 互斥锁是一种用于多线程编程中控制对共享资源访问的机制 限制当前时间段只能由当前进程使用,当前进程使用完成后才能其他进程继续使用 基本原理是在对共享资源进行访问前加锁,使得其他线程无法访问该资源,当访问完成后再解锁,使得其他线程可以进行访问 【二】多个进程共享同一打印终端 进程间的 阅读全文
posted @ 2024-05-28 16:49 Ligo6 阅读(56) 评论(0) 推荐(0) 编辑
摘要:【一】什么是守护进程 守护进程是在计算机系统启动时就已经运行,并且一直在后台运行的一类特殊进程。 特殊在只要系统不关机,就会一直存在 守护进程往往是由系统管理员手动启动的,它们可以在系统启动时自动启动,一直运行在后台,直到系统关闭或被停止 常见的守护进程包括网络服务 (如 web 服务器、邮件服务器 阅读全文
posted @ 2024-05-28 16:46 Ligo6 阅读(12) 评论(0) 推荐(0) 编辑
摘要:【一】引入 在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程 子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程到底什么时候结束 当一个进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态 【 阅读全文
posted @ 2024-05-28 16:44 Ligo6 阅读(21) 评论(0) 推荐(0) 编辑
摘要:【一】multiprocessing模块介绍 multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似 multiprocessing模块的功能众多: 支持子进程、通信和共享数据、执行不同形式的同步 提供了Pro 阅读全文
posted @ 2024-05-28 16:41 Ligo6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:【一】什么是进程 【1】进程概念 正在进行的一个过程或者说一个任务 而负责执行任务则是cpu 进程其实就是一个正在运行的程序 【2】单任务 单核+多道,实现多个进程的并发执行 同一时刻只能做一个任务(cpu同一时间只能干一个活) 【3】多任务 同一时刻可以做多个任务 【二】程序和进程的区别 程序仅仅 阅读全文
posted @ 2024-05-28 16:36 Ligo6 阅读(12) 评论(0) 推荐(0) 编辑
摘要:【一】什么是粘包 只有TCP有粘包现象,UDP永远不会粘包 【1】TCP TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。 收发两端(客户端和服务器端)都要有一一成对的socket 因此,发送端为了将多个发往接收端的包,更有效的发 阅读全文
posted @ 2024-05-28 16:30 Ligo6 阅读(69) 评论(0) 推荐(0) 编辑
摘要:【一】什么是socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。 在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面 对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 所以,我们 阅读全文
posted @ 2024-05-17 08:58 Ligo6 阅读(17) 评论(0) 推荐(0) 编辑
摘要:【一】常见的网络架构模式 【1】CS模型 C是英文单词“Client”的首字母,即客户端的意思 C/S就是“Client/Server”的缩写,即“客户端/服务器”模式。 例如:拼多多APP、PC上的有道云笔记等等 【2】BS模型 B是英文单词“Browser”的首字母,即浏览器的意思; S是英文单 阅读全文
posted @ 2024-05-17 08:55 Ligo6 阅读(34) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示