理论
简单讲一下,看不懂的网上其他文章都有的,有更详细的,easy的很。我只说通俗易懂的。
- Send: 变量可以在线程之间移动。说白了就是move语义,说的是变量可以通过move语义可以在线程之间传递。
- Sync: 变量可以同一时间内在多个线程之间共享。说白了就是引用,变量的引用可以同时出现在多个线程内部。
实践
我们现在通过例子来一一实践刚才的理论。我们接下来通过四个例子,来检验一下针对Send与Sync的理论。
例子一: 编译器自动推导
如下代码是可以正常执行的,rust自有类型中,有很多已经实现了Send trait的类型。
结论:如果复合类型中的所有类型都实现了Send trait。那么编译器自动推导这个符合类型也实现了Send trait。
#[derive(Debug)]
struct Abc {
name: u32,
}
原文地址:https://blog.csdn.net/jl19861101/article/details/134749032
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_30176.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。