首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【问答】rust标准库的方法和数据结构哪些是线程安全的

问:

例如collections里的那些数据结构, 哪些是线程安全的..我去官方的标准库文档似乎没找到说明.

答:

alexlee85 2020-10-23 17:24

因为所有权的检查你已经不能跨线程访问同一个数据结构了。如果要跨线程就必须使用Arc(Atomic Reference Count)和Mutex

不信你可以试试不用Arc和Mutex在两个线程之间来共享变量,编译器会报错。

作者 eric642 2020-10-23 17:36

感谢!你提醒完我才想起来之前看的书有说过这事儿, 刚才脑子没转过弯来~~~~

whfuyn 2020-10-23 17:44

只要看它是不是的就行。一个数据结构是的,也就是说它能够在线程间安全地传递引用,从而能在不同的线程中安全地调用它的方法,也即线程安全。

作者 eric642 2020-10-23 17:51

是指实现了这个Sync这个trait吗? impl Sync for Mutex

whfuyn 2020-10-23 17:54

是的

Neutron3529 2020-10-23 20:02

只要编译通过就是安全的

——大概如此

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201023A0JAEW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券