相关疑难解决方法(0)

为什么指向静态不可变变量的不可变指针不是 Sync?

静态全局 C 字符串(如本答案中所示)没有Synctrait

pub static MY_STRING: &'static *const u8
  = "hello" as const *u8;

// TODO: Simple assertion showing it's not Sync ;)
Run Code Online (Sandbox Code Playgroud)

Sync 被描述为

准确的定义是:一个类型TSyncif&T是线程安全的。换句话说,&T在线程之间传递引用时不存在数据竞争的可能性。

看起来这完全是只读的并且具有静态生命周期,那么为什么传递引用不安全呢?

multithreading rust

3
推荐指数
1
解决办法
312
查看次数

标签 统计

multithreading ×1

rust ×1