问答 2024-05-28 来自:开发者社区

go语言使用消息传递的方式实现并发,请问channel方式和同步锁方式的优缺点是什么?

go语言使用消息传递的方式实现并发,同时也是支持同步锁并发,请问channel方式和同步锁方式的优缺点是什么?

文章 2023-11-21 来自:开发者社区

GO 语言处理并发的时候我们是选择sync还是channel

以前写 C 的时候,我们一般是都通过共享内存来通信,对于并发去操作某一块数据时,为了保证数据安全,控制线程间同步,我们们会去使用互斥锁,加锁解锁来进行处理然而 GO 语言中建议的时候通过通信来共享内存,使用 channel 来完成临界区的同步机制可是 GO 语言中的 channel 毕竟是属于比较高级的原语,自然在性能上就比不上 sync包里面的锁机制,感兴趣的同学可以自己写一个简单的基准测试来....

GO 语言处理并发的时候我们是选择sync还是channel

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注