发送字符串

问题描述 投票:0回答:0

假设我在我的 Rust 程序的主线程中构建一个

String
来简单地将
transmute
这个字符串转换为多个字节,
forget
原始的
String
对象,并传递给另一个线程,它将重建另一个
String
transmute
。让我们假设原始
String
对象包含指向堆分配数组的指针。

现在,据我所知,第二个线程没有理由看到第一个线程可能已写入该数组的数据,因为编译器可能没有插入存储加载屏障,对吧?如果是这样,有没有办法保证第一个线程所做的更改被第二个线程看到?

multithreading rust concurrency unsafe memory-model
© www.soinside.com 2019 - 2024. All rights reserved.