不要通过共享内存来通信,而应该通过通信来共享内存
这是一句风靡golang社区的经典语,对于刚接触并发编程的人,该如何理解这句话?
4 回答

qq_遁去的一_1
TA贡献1725条经验 获得超8个赞
其实如果从分布式的角度来理解,就会比较明了了。
打比方,ab两个进程共同对同一个消息队列进行操作,那么,如果使用共享内存的话,是不是这两个进程就必须局限在同一个物理机上,那么通信的意义就大大缩小了。
如果在设计的时候,对于消息队列,只提供读写接口,而对于内部的实现你完全不用去在意,看起来消息队列就像是共享内存一样了。然而你的消息队列可以利用socket进行通信。
所以,上述这句话,不要用共享内存实现通信是指不要让程序一开始就局限在单机上,而是利用通信,也就是封装内部实现,提供接口的方式来进行相应的操作
添加回答
举报
0/150
提交
取消