
网络并发
线程/进程/协程
骑台风走
One line of code can change everything.
展开
-
网络编程------死锁现象/线程队列/协程
【代码】网络编程------死锁现象/线程队列/协程。原创 2023-03-31 18:34:33 · 169 阅读 · 0 评论 -
网络编程---》线程(lhn25)
一个进程下可以开启多个线程,一个进程里面至少要有一个线程,主进程里面的线程称为主线程,其他进程中的线程称为子线程进程是资源分配的最小单位,线程是CPU调度的最小单位。每一个进程中至少有一个线程。# 协程:在单线程下开启协程,程序员来开的。# 线程才是真正干活的人。同一个进程下多线程数据是共享的,多进程下的不同线程要通信如何做----->等同于进程间通信。原创 2023-03-30 21:05:14 · 89 阅读 · 0 评论 -
线程唯一标识
import threading from threading import get_ident def task(): # 线程的唯一标识 # pid是进程的标识 ident = get_ident() print(ident) for i in range(20): t = threading.Thread(target=task) t.start() # 输出 19352 17396 3144 20380 18452 ...原创 2022-03-16 21:53:33 · 3668 阅读 · 0 评论 -
网络并发进阶---IO模型
1. IO模型简介 """ 我们这里研究的IO模型都是针对网络IO的 Stevens在文章中一共比较了五种IO Model: * blocking IO 阻塞IO * nonblocking IO 非阻塞IO * IO multiplexing IO多路复用 * signal driven IO 信号驱动IO * asynchronous IO 异步IO 由signal driven IO(信号驱动IO原创 2022-03-15 07:19:10 · 3002 阅读 · 0 评论 -
网络并发高阶---协程基础
1. 协程介绍 """ 进程:资源单位 线程:执行单位 协程:这个概念完全是程序员自己意淫出来的 根本不存在 单线程下实现并发 我们程序员自己再代码层面上检测我们所有的IO操作 一旦遇到IO了 我们在代码级别完成切换 这样给CPU的感觉是你这个程序一直在运行 没有IO 从而提升程序的运行效率 多道技术 切换+保存状态 CPU两种切换 1.程序遇到IO 2.程序长时间占用 TCP服务端 accept recv 代码如何做到 切换+保存状态 切换 切换不原创 2022-03-29 09:58:18 · 3026 阅读 · 1 评论 -
网络并发详解
1.死锁与递归锁 当你知道锁的使用抢锁必须要释放锁,其实你在操作锁的时候也极其容易产生死锁现象(整个程序卡死 阻塞) from threading import Thread, Lock import time mutexA = Lock() mutexB = Lock() # 类只要加括号多次 产生的肯定是不同的对象 # 如果你想要实现多次加括号等到的是相同的对象 单例模式 class MyThead(Thread): def run(self): self.fun.原创 2022-03-14 16:57:54 · 3239 阅读 · 0 评论 -
网络并发进阶---线程
1.什么是线程 """ 进程:资源单位 线程:执行单位 将操作系统比喻成一个大的工厂 那么进程就相当于工厂里面的车间 而线程就是车间里面的流水线 每一个进程肯定自带一个线程 再次总结: 进程:资源单位(起一个进程仅仅只是在内存空间中开辟一块独立的空间) 线程:执行单位(真正被cpu执行的其实是进程里面的线程,线程指的就是代码的执行过程,执行代码中所需要使用到的资源都找所在的进程索要) 进程和线程都是虚拟单位,只是为了我们更加方便的描述问题 """ 2.为何要有线程 """ 开设进..原创 2022-03-14 16:57:15 · 2962 阅读 · 0 评论 -
网络并发进阶
1. 僵尸进程与孤儿进程 # 僵尸进程 """ 死了但是没有死透 当你开设了子进程之后 该进程死后不会立刻释放占用的进程号 因为我要让父进程能够查看到它开设的子进程的一些基本信息 占用的pid号 运行时间。。。 所有的进程都会步入僵尸进程 父进程不死并且在无限制的创建子进程并且子进程也不结束 回收子进程占用的pid号 父进程等待子进程运行结束 父进程调用join方法 """ # 孤儿进程 """ 子进程存活,父进程意外死亡 操作系统会开设一个“儿童福利院”专门管理孤儿进程回收相关资源 ""转载 2022-03-13 12:10:39 · 2875 阅读 · 0 评论 -
网络并发基础
0. 扫盲 1. 多道技术 单核实现并发的效果 2. 并行/并发术语解释 2.1 并发 看起来像同时运行的就可以称之为并发 2.2 并行 真正意义上的同时执行 2.3 并行与并发的关系 并行肯定算并发 单核的计算机肯定不能实现并行,但是可以实现并发!!! 2.4 多道技术图解 节省多个程序运行的总耗时 2.5 多道技术重点知识 空间上的复用与时间上的服用 空间上的复用 多个程序公用一套计算机硬件 时间上的复用 例子:洗衣服30s,做饭50s,烧水30s 单道需原创 2022-03-06 21:52:06 · 2824 阅读 · 0 评论