首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >时间片、上下文切换和线程干扰的区别

时间片、上下文切换和线程干扰的区别
EN

Stack Overflow用户
提问于 2020-09-16 02:56:07
回答 1查看 663关注 0票数 2

作为multi-threading的初学者,我对这些术语感到有些挣扎。有人能帮我在他们之间划个边界吗?我害怕在开始的时候不会学到一些错误,而且我没有人可以“测试”我。

如果我错了,请纠正我:)

如果两个线程1 CPU核心上运行,它们将是context-switchedContext-switching基于time-slice algorithm,这可以帮助Scheduler“决定”使用核心的时间和时间。这两个线程是否与这些术语共享相同的变量并不重要,对吗?

但还有thread interference。此术语仅在两个线程共享相同的变量时才会使用。

我是否接近于说正确的话?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-16 12:09:02

简单地说,"context“是需要加载到程序计数器寄存器、堆栈指针寄存器和CPU的其他寄存器中的值的集合,以便使其启动或继续执行线程。

"Scheduler“是操作系统中决定哪个线程在哪个CPU上运行以及何时运行的部分。

当调度程序保存一个线程的上下文,并在同一个CPU上安装其他线程的上下文并让它运行时,我们称之为“上下文切换”。

“抢占”是我们所称的,当操作系统出于某种原因切换某个线程时,这并不是对线程刚才所做的事情的反应。

“时间切片”是调度程序在调度程序抢占每个新启动的线程之前将其分配给每个新启动线程的时间段,以便让其他等待线程运行。

最后,(我猜)当你读到“干扰”时,它可能是指一个线程所做的任何事情,因为程序中的一些缺陷,干扰了其他线程的功能。(例如,在另一个线程依赖于变量不改变时,通过更改某个共享变量的值。)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63912452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档