【发布时间】:2010-12-20 09:15:28
【问题描述】:
在查看 Go 和 Erlang 的并发方法时,我注意到它们都依赖于消息传递。
这种方法显然减少了对复杂锁的需求,因为没有共享状态。
但是,考虑到许多客户端希望对内存中的单个大型数据结构(例如后缀数组)进行并行只读访问的情况。
我的问题:
-
与消息传递相比,使用共享状态是否会更快并使用更少的内存,因为数据是只读的,并且只需要存在于单个位置,因此锁大多是不必要的?
李> 如何在消息传递上下文中解决此问题?会不会有一个进程可以访问数据结构,而客户端只需要按顺序从它请求数据吗?或者,如果可能的话,是否将数据分块以创建多个保存块的进程?
1234563实现大致相同?
【问题讨论】:
标签: memory concurrency erlang parallel-processing go