(中文配音)进程间通信:共享内存或发送消息
合集 · 直观理解计算机技术【CoreDumped】 (68)
-
代码中指定变量类型为何如此重要?
11:03
-
栈为何如此之快?
13:46
-
堆为何如此之慢?
17:53
-
动态数组的内部机制(ArrayList VS LinkedList)
19:56
-
探索计算机并发与多任务处理的历史
15:37
-
晶体管是如何运行代码的?
12:54
-
晶体管是如何记忆数据的?
16:12
-
制作一个CPU来运行程序
18:47
-
计算机如何将字符串转换为数字
11:23
-
动态随机存取存储器(DRAM)的工作原理
17:18
-
计算机处理器是如何运行条件和循环的?
16:05
-
一个程序不是一个进程
6:51
-
深入理解进程,如何进行上下文切换?计算机科学中最深刻和最成功的想法之一。
14:52
-
处理器内部的单个位如何保护操作系统的完整性?
20:20
-
计算的心跳:时钟如何推动 CPU 前进?
13:14
-
英语原声版-计算的心跳:时钟如何推动 CPU 前进?
14:22
-
(英语原声)进程间通信:共享内存或发送消息
14:15
-
(中文配音)进程间通信:共享内存或发送消息
12:29
-
(中文配音)为什么单核处理器需要线程?
14:59
-
(英语原声)为什么单核处理器需要线程?
16:07
-
(中文配音)多核系统上的线程
9:26
-
(英语原声)多核系统上的线程
11:27
-
(中文配音)为什么应用程序是特定于操作系统的?
11:52
-
(英语原声)为什么应用程序是特定于操作系统的?
13:09
-
(英语原声)硬件如何在多任务处理中协助软件?
13:15
-
(中文配音)硬件如何在多任务处理中协助软件?
11:29
-
链表的一个实际应用
20:34
-
让你的电脑运行更流畅的奇妙算法
45:02
-
(流畅中文配音)让你的电脑运行更流畅的奇妙算法
43:38
-
(原声双语字幕)当程序调用 sleep() 时会发生什么?
19:41
-
(流畅中文配音)当程序调用 sleep() 时会发生什么?
17:57
-
这个简单算法驱动了真正的解释器:Pratt Parsing
20:40
-
(双语字幕)编程中最难以捉摸的Bug:竞态条件
18:19
-
(流畅中文配音)编程中最难以捉摸的Bug:竞态条件
19:23
-
(中文配音)阻止内存攻击的底层电路
16:02
-
(英语原声)阻止内存攻击的底层电路
14:51
-
为什么有些项目会使用多种编程语言?
18:04
-
为什么有些项目会使用多种编程语言?
19:32
-
别再杀进程了!让 Ctrl+C 变成“喵”……(用信号实现)
17:15
-
别再杀进程了!让 Ctrl+C 变成“喵”...(用信号实现)
19:23
-
80 年代避免竞态条件的算法(以及它为何失败)
19:05
-
80 年代避免竞态条件的算法(以及它为何失败)
19:43
-
CPU如何与众多不同设备交互?
22:10
-
(中文配音)CPU如何与众多不同设备交互?
23:52
-
(中文配音)你每天都在用的奇特CPU操作
14:04
-
你每天都在用的奇特CPU操作
13:04
-
(中文配音)历史如何塑造了我们今天仍在使用的编程术语?
18:04
-
(英语原声)历史如何塑造了我们今天仍在使用的编程术语?
17:42
-
为什么有些底层项目里会充满这种奇怪的代码?
16:41
-
(中文配音)为什么有些底层项目里会充满这种奇怪的代码?
16:39
-
编译与解释代码如何共处同一程序中?
21:35
-
(英语原声)编译与解释代码如何共处同一程序中?
21:30
-
【双语字幕】Core Dumped 常见问题的集中回答
17:09
-
【双语字幕】90年代的设计决策阻碍了Python并行化
13:36
-
【中文配音】90年代的设计决策阻碍了Python并行化
12:01
-
Linux创建进程的奇怪方式
17:51
-
【中文配音】Linux创建进程的奇怪方式
18:14
-
CPU如何运行函数?
19:49
-
【中文配音】CPU如何运行函数?
19:38
-
没有人解释的问题:内核的边界在哪里?
17:15
-
【英语原声】没有人解释的问题:内核的边界在哪里?
19:36
-
硬件如何让线程问题不再那么棘手?
35:49
-
为什么在macOS、Windows和Linux上安装应用程序如此不同?
19:47
-
游戏公司真的能破坏你的电脑吗?
24:00
-
一个视频说透“架构”:为什么你的程序换个CPU就可能跑不了?
10:43
-
CPU如何执行有符号和无符号运算?
14:45
-
简单指令, 奇妙算法
19:11
-
当CPU遇到它不认识的指令,会发生什么?😱【底层原理】
9:26
Description
https://www.youtube.com/watch?v=Y2mDwW2pMv4 在本期视频中,我们探讨了两种常见的进程间通信方式:共享内存和消息传递。我们介绍了它们的工作原理、优缺点以及实际应用场景,例如Chromium浏览器和客户端-服务器架构。同时,我们还讨论了套接字接口在消息传递中的重要性,并对共享内存如何实现高速通信进行了深入解析。如果你对操作系统或分布式系统感兴趣,这期内容不容错过!
Comments
中文配音x ai中文配音v
♥ 66 ↩ 1
还有一种通过指针的方法 用反汇编工具找到内存程序段的位置,一般每个函数之间会有几个字节的空隙,把这些内存从只读改成读写,把指向结构体的指针塞进去 其他程序就能通过固定的内存地址找到这个指针,然后访问到那个结构体
♥ 45 ↩ 19
Tauri[doge]
♥ 21 ↩ 2
学了408后,来看这类视频感觉更好地将知识融合在一起了[打call][打call]
♥ 16
听到“这里是core dumped”笑了,和stack overflow如出一辙[喜极而泣]
♥ 9
IPC不是涉及锁的问题吗,虽然不需要send和recv这类系统调用,但进程一样会陷入内核态,上下文切换一样需要时间
♥ 8 ↩ 4
大多数人可能还是会想到网络IO,这种方式虽然简单但是效率太低,比如我要nodejs与python通信,尝试过很多种方案比如网络IO、子进程管道标准输入输出,这些方案效果都不理想,最后只能在nodejs中继承python解释器,直接在内存层面通信效率高多了。
♥ 7 ↩ 3
一般就是 套接字 http沟通。共享内存我真的很没见过多少
♥ 6 ↩ 2
IPC的性能代价也是鸿蒙内核着重处理的部分吧
♥ 6 ↩ 5
具体有什么框架吗?比如本地的一个QT C++程序和一个C#程序互通信息。之前我做过一个C# 识别图片中字符,然后通过硬盘txt发给QT来绘图,感觉傻得很
♥ 4 ↩ 14
居然还能联系到计网
♥ 4
上学期课设 springboot后端 需要py的dl 尝试了消息队列和Redis 最后还是fastapi包一下最简单
♥ 4 ↩ 4
刚好搜索了进程通信,这就来了。
♥ 3 ↩ 1
多线程,多进程的通信还是要内核做同步。同步一次开销至少10多us延迟。消息传递阻塞io自带同步功能,方便,延迟稍大。
♥ 2
共享内存,Socket
♥ 2
Windows还可以通过拿句柄实现共享内存
♥ 2
视频中框图和动画用什么做的?
♥ 2
视频表述不准确,管道、套接字、RPC 均不属于标准的 “消息传递机制”,典型的消息传递机制应为消息队列、信号、共享内存 + 消息协议等。
♥ 1 ↩ 7
命名通道不就行?不过从便利性考虑,可能环回口TCP/UDP更方便
♥ 1