多核中的线程控制

hisoft2008 2008-04-30 09:42:35
核之间交互的线程如何控制?
...全文
136 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
intel_www 2008-04-30
  • 打赏
  • 举报
回复
答案还是一样的呀。

这两个线程如果相互之间没有数据共享,没有同步或互斥的要求,那么他们根本就没有交互,大家各跑各的,和对方不存在一样。在Intel Core微架构的CPU中唯一有影响的就是大家共享CPU的二级缓存以及前段总线带宽,不过这都由CPU内部的缓存管理单元和前端总线单元来协调,软件开发者是看不到这些,也没法显式的控制的。

如果两个线程有交互,那么两者就有数据共享,或者有相互同步/互斥的要求,那么他们就要通过我说的那些同步对象来相互协调。

记住了,我们这里说的线程都是操作系统中的概念,这些同步对象都是操作系统或程序库提供的功能。
hisoft2008 2008-04-30
  • 打赏
  • 举报
回复
太厉害了,我就是想这么问
哈哈哈
那答案是什么?
intel_www 2008-04-30
  • 打赏
  • 举报
回复
你是不是想问多个线程在CPU的多个核上同时执行时,它们之间的交互怎么控制?
hisoft2008 2008-04-30
  • 打赏
  • 举报
回复
我问的不是这个层面的问题...
但是,鉴于自己的表达能力有限,不知道该怎么问。
谢谢
intel_www 2008-04-30
  • 打赏
  • 举报
回复
支持线程的操作系统提供了很多用于线程同步和互斥的同步对象,比如锁,信号量,事件等等。通过这些同步对象线程可以完成对线程的控制。另外,同一进程内的各个线程是共享除了堆栈之外的所有资源的,他们可以通过共享内存高效的完成相互之间的通信。

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧