Rust编译器对多线程数据共享,多线程数据传递这种内存安全事故多发区进行了极其严苛的检查和限制,确保编译时就能发现潜在的内存安全问题。在多线程传递数据时,除了通过channel,你没有第二种选择;在多线程数据共享时,除了Arc+Mutex(如果多线程共享的只是int bool这类简单数据类型,你还可以使用原子操作) ,你同样没有别的选择。虽然 Rust极其缺乏灵活性,但是这同样是它的有点,因为编译器一直在逼着你写出正确的代码,极大减少了程序的维护成本。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。