(中文配音)为什么单核处理器需要线程?
合集 · 直观理解计算机技术【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=M9HHWFp84f0
Comments
[微笑]
♥ 262 ↩ 8
多线程最有用的就是网络请求了吧?单线程网络请求会出现代码阻塞[思考]
♥ 60 ↩ 11
单核也需要线程,win32桌面要是用单线程,那它连按钮这种基本的控件都用不了[doge]
♥ 47 ↩ 10
[doge]会讲超线程吗,以前大学的时候学的都是linux on arm,工作的时候用的rtos,完全没接触过Intel家的超线程概念
♥ 30 ↩ 11
今天csapp刚学到这,大数据就推过来了[doge][星星眼]
♥ 22 ↩ 2
讲线程,没有视频比这个更清楚
♥ 21
没有线程就没有多任务,线程和进程还有堆栈这些概念都是操作系统虚拟出来的,都属于软件层面,也可以叫做数据结构,具体一点就是c语言里面的结构体,如果没有多任务,8核处理器最多能同时处理8个任务,这玩意非常复杂,也是操作系统的核心
♥ 18 ↩ 23
你正在家里打麻将的时候,突然想抽烟,于是就对儿子说“去楼下帮我买包烟”,这就开启了一个新的线程。
♥ 11
很喜欢,希望能继续更新下去[打call][打call]
♥ 6 ↩ 1
JavaScript类似的事件循环挺适合IO密集型应用的,另外还有调度器在runtime上的用户态的线程,协程。
♥ 5
多线程的作用能不能简单理解为为进程提供多套上下文[笑]
♥ 4
单核cpu,同一时间只能一个线程在运行。
♥ 4
最近碰到一个问题,就是很正常的一个操作,也不涉及什么数据库查询,就是偶尔会卡顿5秒,就比如一个字符串截取操作,打印日志的时间差了可能就5秒,也可能10秒15秒20秒五的倍数往上加,应该不是日志打印本身的问题,因为是用的Log back,开启异步打印,很头疼,因为就生产环境有这种问题,我在测试环境循环3000个请求,10秒就结束了,但是生产环境,七十多秒都没结束,看日志打印有超过5秒的
♥ 4 ↩ 7
计算机这种抽象真的挺有趣的,感觉线程是个高度抽象的概念,它们共享进程内存地址,又有独立的运行状态(上下文),这种区别于进程的内存管理使得它们运行效率更高效,归根到底好像是分配思想的抽象
♥ 4
我觉得栈的先进后出很有意思,为什么不是先进先出呢 看这段代码 var a=1; for(var b=0;b<10;b++) var d=b; a进,b进 ,d进,d出,d进,d出。。。b出,a出。 所以他用的才是先进后出, 最外层的永远作用域比里面的大。
♥ 4 ↩ 1
其实还有纤程,其实GPU这块更适合纤程
♥ 4
线程的难点在于同步和传值
♥ 4
已经开始听不懂了。
♥ 4 ↩ 1
我个人理解啊就是单核多线程,你单核有些任务也得并行着做啊,你任务有时序的需求,有同步的需求,那就需要多线程啊。
♥ 3