得到了意想不到的广告效果。。。谁想玩两下 Qortex 的话,我来建立个 Org,然后加大家进来。
回复留 Email 地址,我就给你加进来,现在加了 2 个
怎么跟我理解的刚好相反= =
-> 并发是利用分时系统的时间切片来实现无序计算的并行假象,而并行是在多核上同时计算。所以很多时候 SMP 和并行会同时出现。
之前翻译过一点 erlang in action,里面序章也有说过,我去找找看。
回头又看了一下,好像看走眼了,sorry...你是对的...被最后那句并发大于并行这句话搞糊涂了
哦。。我想说并发的概念包含并行,并发中的元素可以有并行,也可以无并行。。 就是单核上面执行并发的程序,也是有可能提高效率的,比如某些 Goroutine 在等 IO,这是其他 Goroutine 就可以占用闲下来的 CPU,运行不同的事情。
就是单核上面执行并发的程序,也是有可能提高效率的,比如某些 Goroutine 在等 IO,这是其他 Goroutine 就可以占用闲下来的 CPU,运行不同的事情。
这个是并行吧 ...
#19 楼 @bhuztez 其实我的 keynote 要说的,就是你这个帖子里说的 http://ruby-china.org/topics/6419
一堆任务一起跑,那叫并行,它们之间有交互才叫并发...
哦,@bhuztez 说的 Reliable 就是怀疑他不会公平分配对吧?那我理解,你就假定他会公平分配吧,或者公平分配是他的目标,目前的实现我觉得也还好吧,其实可以测试出来,就是建 N 个 Goroutine 都在吃 CPU,然后看看,有没有 Goroutine 一直没执行到吧
process 是并行/并发工具。
thread 也是并行/并行工具,但是有解释器锁的存在,在 ruby 里并行效果不好。
fiber 不是并行工具,因为其实还是只用一个核,但也由于只用一个核,没有线程同步的问题,不需要完全拷贝栈,因此可以快速大量创建,是并发工具。
CUDA, OpenCL 是利用 GPU 的并行工具,非并发工具。由于一些 GPU 有上千个核,并行处理能力比一般 CPU 强很多很多。GPU 运算有相应的 API (CUDA) 和封装 (OpenCL), 不受解释器锁的影响。