官术网_书友最值得收藏!

Send and Sync

These marker traits are fundamental to Rust's multithreading policies. They have distinct purposes:

  • Send: A data type is safe to send (move) from one thread to the other
  • Sync: The data type can be shared across threads without manual locks or mutex areas

These marker traits are implemented in all basic types of the standard library and can be inherited for custom types (if all properties of a type are Sync, then the type itself is Sync too).

Implementing Sync or Send is unsafe because there is no way for the compiler to know if you are right and the code can be shared/sent between threads, which is why it's very unusual to do this.

In case your program requires this depth of Rust programming, be sure to read up on this topic in the Rust Book, chapter 16 (https://doc.rust-lang.org/1.31.0/book/ch16-04-extensible-concurrency-sync-and-send.html).

主站蜘蛛池模板: 岳阳县| 莲花县| 左权县| 桂平市| 康定县| 万山特区| 井陉县| 平塘县| 勃利县| 洮南市| 景东| 长宁县| 福清市| 道真| 岚皋县| 商水县| 东台市| 蒙自县| 旬邑县| 丰镇市| 宜州市| 马公市| 万州区| 安平县| 会昌县| 南皮县| 梨树县| 西华县| 武鸣县| 张掖市| 贵德县| 开江县| 信宜市| 鄂尔多斯市| 兰溪市| 高安市| 巴林左旗| 罗山县| 杭锦旗| 密山市| 澜沧|