検索
Results of 1 - 4 of about 4 for thread (0.009 sec.)
- Atomics 11040
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
and completely eliminated one event. From a single-threaded perspective this is completely unobservable: aft...
xactly the same state. But if our program is multi-threaded, we may have been relying on x to actually be as...
ee that events that occur in the same order on one thread, occur in the same order on another thread. To gua...
er to emit this logic: initial state: x = 0, y = 1 THREAD 1 THREAD2 y = 3; if x == 1 { x = 1; y *= 2; } Idea...
- https://man.plustar.jp/rust/nomicon/atomics.html - [similar]
- Send and Sync 11040
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
ion to manage this access, they are absolutely not thread safe. Rust captures this through the Send and Sync...
A type is Send if it is safe to send it to another thread. A type is Sync if it is safe to share between thr...
zed). Rc and UnsafeCell are very fundamentally not thread-safe: they enable unsynchronized shared mutable st...
ver raw pointers are, strictly speaking, marked as thread-unsafe as more of a lint . Doing anything useful w...
- https://man.plustar.jp/rust/nomicon/send-and-sync.html - [similar]
- 競合 8044
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
いのです。例: #![allow(unused)] fn main() { use std::thread; use std::sync::atomic::{AtomicUsize, Ordering}; u...
す。 // これ無しにはコンパイルできません。なぜなら、 thread::spawn が // ライフタイムを必要とするからです! let...
が値でキャプチャされ、このスレッドにムーブされます thread::spawn(move || { // idx を変更しても大丈夫です。こ...
eqCst)]); } #![allow(unused)] fn main() { use std::thread; use std::sync::atomic::{AtomicUsize, Ordering}; u...
- https://man.plustar.jp/rust/nomicon/races.html - [similar]
- リーク 6823
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
興味深い例について着目していきます。 vec::Drain Rc thread::scoped::JoinGuard Drain drain は、コンテナを消費せ...
しゅ 、これは本当に馬鹿げたコーナーケースなのです。 thread::scoped::JoinGuard thread::scoped API は、共有され...
` にアクセスできないことを意味します。 let guard = thread::scoped(move || { *x *= 2; }); // 後の使用に備えて...
る以外は。 let mut data = Box::new(0); { let guard = thread::scoped(|| { // これは良くてもデータ競合を引き起こ...
- https://man.plustar.jp/rust/nomicon/leaking.html - [similar]
PREV
1
NEXT