서브메뉴
검색
Rust Atomics and Locks
Rust Atomics and Locks
상세정보
- 자료유형
- 전자책 국외
- 최종처리일시
- 20260202073946.0
- ISBN
- 9781098119416 (electronic bk.)
- ISBN
- 9781098119447
- 저자명
- Bos, Mara.
- 서명/저자
- Rust Atomics and Locks
- 판사항
- 1st ed.
- 형태사항
- 1 online resource (252 pages)
- 내용주기
- 완전내용Cover -- Copyright -- Table of Contents -- Foreword -- Preface -- Who This Book Is For -- Overview of the Chapters -- Code Examples -- Conventions Used in This Book -- Contact Information -- Acknowledgments -- Chapter 1. Basics of Rust Concurrency -- Threads in Rust -- Scoped Threads -- Shared Ownership and Reference Counting -- Statics -- Leaking -- Reference Counting -- Borrowing and Data Races -- Interior Mutability -- Cell -- RefCell -- Mutex and RwLock -- Atomics -- UnsafeCell -- Thread Safety: Send and Sync -- Locking: Mutexes and RwLocks -- Rust's Mutex -- Lock Poisoning -- Reader-Writer Lock -- Waiting: Parking and Condition Variables -- Thread Parking -- Condition Variables -- Summary -- Chapter 2. Atomics -- Atomic Load and Store Operations -- Example: Stop Flag -- Example: Progress Reporting -- Example: Lazy Initialization -- Fetch-and-Modify Operations -- Example: Progress Reporting from Multiple Threads -- Example: Statistics -- Example: ID Allocation -- Compare-and-Exchange Operations -- Example: ID Allocation Without Overflow -- Example: Lazy One-Time Initialization -- Summary -- Chapter 3. Memory Ordering -- Reordering and Optimizations -- The Memory Model -- Happens-Before Relationship -- Spawning and Joining -- Relaxed Ordering -- Release and Acquire Ordering -- Example: Locking -- Example: Lazy Initialization with Indirection -- Consume Ordering -- Sequentially Consistent Ordering -- Fences -- Common Misconceptions -- Summary -- Chapter 4. Building Our Own Spin Lock -- A Minimal Implementation -- An Unsafe Spin Lock -- A Safe Interface Using a Lock Guard -- Summary -- Chapter 5. Building Our Own Channels -- A Simple Mutex-Based Channel -- An Unsafe One-Shot Channel -- Safety Through Runtime Checks -- Safety Through Types -- Borrowing to Avoid Allocation -- Blocking -- Summary -- Chapter 6. Building Our Own "Arc".
- 내용주기
- 완전내용Basic Reference Counting -- Testing It -- Mutation -- Weak Pointers -- Testing It -- Optimizing -- Summary -- Chapter 7. Understanding the Processor -- Processor Instructions -- Load and Store -- Read-Modify-Write Operations -- Load-Linked and Store-Conditional Instructions -- Caching -- Cache Coherence -- Impact on Performance -- Reordering -- Memory Ordering -- x86-64: Strongly Ordered -- ARM64: Weakly Ordered -- An Experiment -- Memory Fences -- Summary -- Chapter 8. Operating System Primitives -- Interfacing with the Kernel -- POSIX -- Wrapping in Rust -- Linux -- Futex -- Futex Operations -- Priority Inheritance Futex Operations -- macOS -- os_unfair_lock -- Windows -- Heavyweight Kernel Objects -- Lighter-Weight Objects -- Address-Based Waiting -- Summary -- Chapter 9. Building Our Own Locks -- Mutex -- Avoiding Syscalls -- Optimizing Further -- Benchmarking -- Condition Variable -- Avoiding Syscalls -- Avoiding Spurious Wake-ups -- Reader-Writer Lock -- Avoiding Busy-Looping Writers -- Avoiding Writer Starvation -- Summary -- Chapter 10. Ideas and Inspiration -- Semaphore -- RCU -- Lock-Free Linked List -- Queue-Based Locks -- Parking Lot-Based Locks -- Sequence Lock -- Teaching Materials -- Index -- About the Author -- Colophon.
- 기타형태저록
- Print version / Bos, MaraRust Atomics and Locks. Sebastopol : O'Reilly Media, Incorporated,c2023. 9781098119447
- 전자적 위치 및 접속
- 로그인 후 원문을 볼 수 있습니다.
MARC
008260202s2023 xx o 0 eng d■001EBC30292346
■003MiAaPQ
■00520260202073946.0
■006m o d |
■007cr cnu||||||||
■020 ▼a9781098119416▼q(electronic bk.)
■020 ▼z9781098119447
■035 ▼a(MiAaPQ)EBC30292346
■035 ▼a(Au-PeEL)EBL30292346
■035 ▼a(OCoLC)1355218158
■040 ▼aMiAaPQ▼beng▼erda▼epn▼cMiAaPQ▼dMiAaPQ
■1001 ▼aBos, Mara.
■24510▼aRust Atomics and Locks
■250 ▼a1st ed.
■264 1▼aSebastopol▼bO'Reilly Media, Incorporated▼c2023.
■264 4▼c?023.
■300 ▼a1 online resource (252 pages)
■336 ▼atext▼btxt▼2rdacontent
■337 ▼acomputer▼bc▼2rdamedia
■338 ▼aonline resource▼bcr▼2rdacarrier
■5050 ▼aCover -- Copyright -- Table of Contents -- Foreword -- Preface -- Who This Book Is For -- Overview of the Chapters -- Code Examples -- Conventions Used in This Book -- Contact Information -- Acknowledgments -- Chapter 1. Basics of Rust Concurrency -- Threads in Rust -- Scoped Threads -- Shared Ownership and Reference Counting -- Statics -- Leaking -- Reference Counting -- Borrowing and Data Races -- Interior Mutability -- Cell -- RefCell -- Mutex and RwLock -- Atomics -- UnsafeCell -- Thread Safety: Send and Sync -- Locking: Mutexes and RwLocks -- Rust's Mutex -- Lock Poisoning -- Reader-Writer Lock -- Waiting: Parking and Condition Variables -- Thread Parking -- Condition Variables -- Summary -- Chapter 2. Atomics -- Atomic Load and Store Operations -- Example: Stop Flag -- Example: Progress Reporting -- Example: Lazy Initialization -- Fetch-and-Modify Operations -- Example: Progress Reporting from Multiple Threads -- Example: Statistics -- Example: ID Allocation -- Compare-and-Exchange Operations -- Example: ID Allocation Without Overflow -- Example: Lazy One-Time Initialization -- Summary -- Chapter 3. Memory Ordering -- Reordering and Optimizations -- The Memory Model -- Happens-Before Relationship -- Spawning and Joining -- Relaxed Ordering -- Release and Acquire Ordering -- Example: Locking -- Example: Lazy Initialization with Indirection -- Consume Ordering -- Sequentially Consistent Ordering -- Fences -- Common Misconceptions -- Summary -- Chapter 4. Building Our Own Spin Lock -- A Minimal Implementation -- An Unsafe Spin Lock -- A Safe Interface Using a Lock Guard -- Summary -- Chapter 5. Building Our Own Channels -- A Simple Mutex-Based Channel -- An Unsafe One-Shot Channel -- Safety Through Runtime Checks -- Safety Through Types -- Borrowing to Avoid Allocation -- Blocking -- Summary -- Chapter 6. Building Our Own "Arc".
■5058 ▼aBasic Reference Counting -- Testing It -- Mutation -- Weak Pointers -- Testing It -- Optimizing -- Summary -- Chapter 7. Understanding the Processor -- Processor Instructions -- Load and Store -- Read-Modify-Write Operations -- Load-Linked and Store-Conditional Instructions -- Caching -- Cache Coherence -- Impact on Performance -- Reordering -- Memory Ordering -- x86-64: Strongly Ordered -- ARM64: Weakly Ordered -- An Experiment -- Memory Fences -- Summary -- Chapter 8. Operating System Primitives -- Interfacing with the Kernel -- POSIX -- Wrapping in Rust -- Linux -- Futex -- Futex Operations -- Priority Inheritance Futex Operations -- macOS -- os_unfair_lock -- Windows -- Heavyweight Kernel Objects -- Lighter-Weight Objects -- Address-Based Waiting -- Summary -- Chapter 9. Building Our Own Locks -- Mutex -- Avoiding Syscalls -- Optimizing Further -- Benchmarking -- Condition Variable -- Avoiding Syscalls -- Avoiding Spurious Wake-ups -- Reader-Writer Lock -- Avoiding Busy-Looping Writers -- Avoiding Writer Starvation -- Summary -- Chapter 10. Ideas and Inspiration -- Semaphore -- RCU -- Lock-Free Linked List -- Queue-Based Locks -- Parking Lot-Based Locks -- Sequence Lock -- Teaching Materials -- Index -- About the Author -- Colophon.
■588 ▼aDescription based on publisher supplied metadata and other sources.
■590 ▼aElectronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2026. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
■655 4▼aElectronic books.
■77608▼iPrint version▼aBos, Mara▼tRust Atomics and Locks▼dSebastopol : O'Reilly Media, Incorporated,c2023▼z9781098119447
■7972 ▼aProQuest (Firm)
■85640▼uhttps://ebookcentral.proquest.com/lib/baekseok-ebooks/detail.action?docID=30292346▼zClick to View


