社区
英特尔边缘计算技术
帖子详情
多核多线程的同步问题,与单核多线程的同步一样处理吗?
wzzwt
2007-08-15 02:57:32
多核多线程的同步问题,与单核多线程的同步一样处理吗?如果不同,有何差异?
...全文
1112
11
打赏
收藏
多核多线程的同步问题,与单核多线程的同步一样处理吗?
多核多线程的同步问题,与单核多线程的同步一样处理吗?如果不同,有何差异?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sevencat
2007-08-23
打赏
举报
回复
直接用系统api,一样处理。或者调用常见类库的处理,在绝大多数情况下(你要写OS了,你要写驱动了,你要写编译器了)你没必要考虑多CPU或者单CPU!!!那些东东在PC硬件上会提到的。你只要调用API即可。
vcPlayer
2007-08-20
打赏
举报
回复
同步的“概念”应该是一样的。但在如何分配线程任务的时候可就大不一样了,否则与单核多线程就没什么区别了。
另外应该会提供一些处理调度的应用接口,这个以前是核心态专有的吧?
zhangyixian525
2007-08-17
打赏
举报
回复
单核多线程其实就是一个CPU运算多个线程。因为是单核所以在同一时间只可能有一条指令被处理。其余的线程只能是等待的状态。多个线程竞争一个CPU的使用这是一个非常出名的算法。而多核多线程是真正意义上的多线程。它可以有几个CPU同时进行处理,并行的处理。可以大大地提高处理器的处理效率。
冷月清晖
2007-08-16
打赏
举报
回复
不懂,有东西卖弄就好了
yejun52
2007-08-16
打赏
举报
回复
对于运行在用户态的程序来说处理应该是一样的。
感觉楼上的几位很有卖弄之嫌。
冷月清晖
2007-08-16
打赏
举报
回复
并行-------独行(忘了说法)
xlyyc
2007-08-16
打赏
举报
回复
比如可以想办法将多层循环的计算改为并行方式.这个可以利用多个CPU的同时计算能力.
会思考的草
2007-08-16
打赏
举报
回复
只知道内核中要用spinlock进行多处理器同步。用户态下可能程序员感觉不到吧,但是如果知道在多处理器上运行,做一些优化是可行的。
xlyyc
2007-08-16
打赏
举报
回复
有区别,一个是伪多线程\一个是真正的多线程
另外在实现算法上,可以针对多核进行一些调优
yingle2000
2007-08-16
打赏
举报
回复
to xlyyc(宇):
多处理器优化确实是不一样,但是LZ的问题不是优化,而是同步,这对于运行在用户态的程序来说处理是一样的。
xlyyc
2007-08-16
打赏
举报
回复
回yejun52(见钱眼开^_^)
对用户态的处理是不一样的,建议你看看JAVA线城 关于多处理器优化这节再来说话.
多核
CPU和
单核
的区别~
昨天有同学问我
多核
cpu和
单核
的区别大不大,今天简单写一篇回复下吧。大家有其他
问题
也可以文末给我留言,我会尽量抽时间写文回复。首先回顾下基本概念,cpu,就是中央
处理
器,包括运算器和控制器...
并发和并行,
多线程
和多进程,
单核
和
多核
,
同步
和异步的关系
并发:拥有
处理
多个任务的能力,不一定要同时,不同代码块交替执行的性能,可以串行
处理
也可以并行
处理
并行:同时
处理
多个任务的能力,不同代码块同时执行的性能串行:指多个任务时,各个任务按顺序执行,完成一个之后才能执行下一个
同步
:所谓
同步
,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动等待这个*调用*的结果。异步:异步则相...
单核
,
多核
CPU的原子操作
一. 何谓"原子操作": 原子操作就是: 不可中断的一个或者一系列操作, 也就是不会被线程调度机制打断的操作, 运行期间不会有任何的上下文切换(context switch). 二. 为什么关注原子操作? 1. 如果确定某个操作是原子的, 就不用为了去保护这个操作而加上会耗费昂贵性能开销的锁. - (巧妙的利用原子操作和实现无锁编程) 2. 借助原子操作可以实现互斥锁(mutex).
为什么你的程序跑不满CPU?——简单聊聊
多核
多线程
最近同事测试自己的程序,感觉
处理
耗时太长,一看CPU使用率,才25%。想要提高CPU使用率降低
处理
时长,于是向我询问。以此为契机写了这篇,聊聊
多核
多线程
。
多线程
、
多核
、
单核
相关的一些
问题
1.
多线程
在
单核
和
多核
CPU上的执行效率
问题
的讨论 a1:
多线程
在单cpu中其实也是顺序执行的,不过系统可以帮你切换那个执行而已,其实并没有快(反而慢) 多个cpu的话就可以在两个cpu中同时执行了… a2:
单核
CPU上运行的
多线程
程序, 同一时间只能一个线程在跑, 系统帮你切换线程而已, 系统给每个线程分配时间片来执行, 每个时间片大概10ms左右, 看起来像是同时跑, 但实际上是每个线程跑一点点就换到其它线程继续跑 效率不会有提高的 切换线程反倒会增加开销 a3: #3楼说的是对的。所以一般没有必要
英特尔边缘计算技术
568
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章