検索

phrase: max: clip:
target: order:
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