多线程在多核环境下有何不同吗?希望有相关资料

laomig 2008-08-23 07:46:14
我用VC在win2000或XP下开发应用程序时,有时会用多个线程做通信和处理程序,一个线程用于向公共缓冲区写,另一个负责从缓冲区取数据处理,一般是用CEvent和CCriticalSection来同步,不知道在多核环境下这样的同步程序会遇到什么问题吗?比如CCriticalSection还能不能保证我公共缓冲区的安全。
...全文
138 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gwork 2010-10-14
  • 打赏
  • 举报
回复
我也关心这个问题
intel_www 2008-09-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 laomig 的回复:]
咱们通常所说的多核,并不是多CPU吧?如果多CPU是不是编程跟复杂
[/Quote]

从软件设计的角度来看,两者的区别并不是很大。实际上在多核走向客户端桌面系统之前,多CPU系统早就大规模的应用到了服务器端,所以服务器端的程序很早就已经多线程并行化了。现在由于多核CPU的普及,客户端也具有了以前只有昂贵的服务器才有的并行处理能力,我们要做的就是推动客户端的软件也走向多线程并行化。
laomig 2008-09-09
  • 打赏
  • 举报
回复
咱们通常所说的多核,并不是多CPU吧?如果多CPU是不是编程跟复杂
intel_www 2008-08-27
  • 打赏
  • 举报
回复
当然有随机的使用手册啦。论坛里面还有好些帖子讲如何使用的。比如:
http://topic.csdn.net/u/20080509/13/6d9e3057-c841-4d8d-bcc1-d898dd5f3a74.html
laomig 2008-08-27
  • 打赏
  • 举报
回复
Intel Thread Checker 怎么使用,有手册吗
intel_iclifort 2008-08-25
  • 打赏
  • 举报
回复
能不能保证共享数据的安全,关键要看你的代码如何写的。写得不好,可能安全没问题,却发生死锁了。

可以考虑用Intel Thread Checker查看是否发生了这些多线程编程中常见的错误
intel_www 2008-08-25
  • 打赏
  • 举报
回复
在多核环境下有可能将你的程序中某些在原来的单核环境中没有暴露出来的问题显现出来。至于CCriticalSection本身是没有问题的。

567

社区成员

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

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