博客:blog.focus-linux.net linuxfocus.blog.chinaunix.net
11759阅读 13评论2011-12-07 GFree_Wind
分类:LINUX
原子操作应该也能提高并发程序的效率
<div class="quote"><span class="q"><b>crazyhadoop</b>: 原子操作应该也能提高并发程序的效率.....</span></div>本想说原子操作来着,其实它的性能没有你想象的好
总感觉并行的效率不如单行高~
<div class="quote"><span class="q"><b>马夹GG</b>: 总感觉并行的效率不如单行高~.....</span></div>并行还是比串行要快的。——当然不排除某些极为特殊的情况
<div class="quote"><span class="q"><b>crazyhadoop</b>: 原子操作应该也能提高并发程序的效率.....</span></div>"原子操作应该也能提高并发程序的效率",楼上可否详细讲述下?
LZ是否有例子来表现 一下程序 要利用多核,是软件上做,还是什么都不管交给了OS?
<div class="quote"><span class="q"><b>TestForCU</b>: LZ是否有例子来表现 一下程序 要利用多核,是软件上做,还是什么都不管交给了OS?.....</span></div>软件上还是需要利用多核的特性去做一些工作的。不然光交给OS的话,性能提升是有限的。
"semphore为系统调用"这句话好像有点问题哦,内核也可以使用semphore,当然后面说的赞同。
<div class="quote"><span class="q"><b>alexhak2004</b>: "semphore为系统调用"这句话好像有点问题哦,内核也可以使用semphore,当然后面说的赞同。.....</span></div>呵呵,我说系统调用是基于应用层的并发而说的。对比spinlock,semphore为系统调用。<br /> <br /> 内核确实也可以使用semphore。你的意见很对,我应该加上上下文环境,说明是应用层的开发。
我是先入为主了,因为看到了spin_lock,所以以为就是内核态了。。。<br /> 其实,我觉得,其实你提到的最后一点,也就是优秀的架构和软件设计,我认为是最难的。。。很多时候,需要做一些折中。比如,视频的编解码就是一例,为了达到程序并行,可能会考虑把一幅图像分为多个slice进行编码,每个slice作为一个线程处理,但是这就使得不同的slice间不能相互参考,从而降低了整体的压缩效率。。。
<div class="quote"><span class="q"><b>alexhak2004</b>: 我是先入为主了,因为看到了spin_lock,所以以为就是内核态了。。。<br /> 其实,我觉得,其实你提到的最后一点,也就是优秀的架构和软件设计,我认为是最难的。。。很.....</span></div>是的。所以一般设计都不会有一个通用的设计,必须要根据应用场景,做调整,也包括你说的如何折中。
can you paste some sample code segment?
<div class="quote"><span class="q"><b>platinaluo</b>: can you paste some sample code segment?.....</span></div>OK. I will paste some codes later. Now I am investigating on the computer architecture, and the basic knowledge of network.