文章分类 -  网络编程与并发编程

互斥锁、创建线程的两种方式、GIL全局解释锁
摘要:互斥锁 多个程序同时操作一份数据的时候很容易产生数据错乱!!! 为了避免数据错乱 我们需要使用互斥锁 案例:模拟抢票 from multiprocessing import Process import time import json import random # 查票 def search(n 阅读全文
posted @ 2022-08-11 22:02 Joker_Ly 阅读(53) 评论(0) 推荐(0)
验证GIL存在、进程池与线程池、协程简介
摘要:验证GIL的存在 from threading import Thread money = 100 def task(): global money money -= 1 t_list = [] for i in range(100): # 创建100个线程 t = Thread(target=ta 阅读全文
posted @ 2022-08-11 20:28 Joker_Ly 阅读(51) 评论(0) 推荐(0)
创建进程多种方式
摘要:创建进程的多种方式 需要掌握的两种 方式一、 from multiprocessing import Process import time def task(name): print(f'{name}正在运行') time.sleep(2) print(f'{name}运行结束') if __na 阅读全文
posted @ 2022-08-09 17:24 Joker_Ly 阅读(113) 评论(0) 推荐(0)
UDP协议、操作系统发展史、多道技术、进程理论、同步和异步、并发编程
摘要:UDP协议 服务端不需要考虑客户端是否异常退出 UDP不存在黏包问题(UDP多是用于短信息的交互) 服务端 import socket server = socket.socket(type=socket.SOCK_DGRAM) server.bind(('127.0.0.1', 8080)) ms 阅读全文
posted @ 2022-08-08 16:07 Joker_Ly 阅读(66) 评论(0) 推荐(0)
8.5 TCP协议、UDP协议、黏包现象、socket套接字
摘要:Tcp协议与Udp协议 规定了数据传输所遵循的规则 数据传输能够遵循的协议有很多 Tcp与Udp是比较为常见的两个 一、Tcp协议 三次握手 建立双向通道 四次挥手 断开双向通道 基于Tcp传输数据非常的安全 因为有双向通道是否正确? 基于Tcp传输,数据不容易丢失 不容易丢失的原因在于二次确认机制 阅读全文
posted @ 2022-08-07 12:33 Joker_Ly 阅读(86) 评论(0) 推荐(0)
软件开发架构、OSI七层协议、网络编程
摘要:今日内容 软件开发架构 一、什么是软件开发架构 编写项目之前需要遵循的代码层面上的规范 二、软件开发架构 1.应用类(c\s架构):qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 c:client 客户端 s:server 服务端 2.web类:比如百度、知乎、博客园等使用浏览器访问就可以直接 阅读全文
posted @ 2022-08-04 22:25 Joker_Ly 阅读(88) 评论(0) 推荐(0)