返回信息流单核逻辑很简单,微观上单个CPU是串行执行多个线程,并不会真正并发,所以多线程编程的时候只要注意对共享资源加锁即可。
但是多核就不一样了,多核是真正的并发执行多个线程,那么CPU之间对于共享资源的访问是怎么一个保护措施?如果有两个线程同时请求一个资源(注意,是真正“同时”),那么这个时候CPU之间是怎么协调这个资源的使用的呢?
大家有什么关于多核编程的比较好的资料、博客可以推荐一下不?
这是一条镜像帖。来源:北邮人论坛 / soft-design / #35595同步于 2009/9/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
问一下,多核编程和单核多线程编程的不同?
Keyman
2009/9/3镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
ring3的话,不用管了,用API就可以了。
ring0的话,能用API就好办,不能用的话,好像只能用看雪上某人的萎缩方法。
其内部实现都是进入ring0提升irql和多核间的spinlock。
毕竟是你自己和自己竞争资源,一般人很少遇到自己和系统竞争资源。
【 在 Keyman (KISS) 的大作中提到: 】
: 单核逻辑很简单,微观上单个CPU是串行执行多个线程,并不会真正并发,所以多线程编程的时候只要注意对共享资源加锁即可。
: 但是多核就不一样了,多核是真正的并发执行多个线程,那么CPU之间对于共享资源的访问是怎么一个保护措施?如果有两个线程同时请求一个资源(注意,是真正“同时”),那么这个时候CPU之间是怎么协调这个资源的使用的呢?
: 大家有什么关于多核编程的比较好的资料、博客可以推荐一下不?
: ...................