c中交错的“多线程”是什么意思?

时间:2015-10-05 09:30:06

标签: c multithreading thread-safety pthreads

有人可以解释一下交错的多线程意味着什么吗? 也允许实时示例。

3 个答案:

答案 0 :(得分:1)

英特尔将其描述为超线程。 CPU有一个带有2个寄存器组的单核。

这些可用于提高核心的利用率。

这对代码是不透明的,因为它的行为类似于2个核心。但是,一次只能运行一个。

如果是多线程的,您的代码仍然需要原子,互斥等

答案 1 :(得分:0)

wiki说:

  

交错多线程的目的是删除所有数据   依赖性从执行管道中停止。因为一个线程是   相对独立于其他线程,一个人的机会较少   一个管道阶段的指令需要较旧的输出   管道中的指令。从概念上讲,它类似于先发制人   操作系统中使用的多任务处理;一个类比就是   给每个活动线程的时间片是一个CPU周期。

答案 2 :(得分:0)

This Wikipedia page解释得非常好。

基本上它是关于交错来自CPU上不同操作系统级线程的指令,以降低指令之间代价高昂的依赖性的风险。