000 02539cam a22003137i 4500
003 GSU
005 20240821182931.0
008 230726t20222023cc b 001 0 eng d
020 _a9781098119447 (paperback)
040 _beng
_erda
_cGSU
_dGSU
050 0 0 _aQA76.73.R87
_bBOS
100 1 _aBos, Mara,
_eauthor.
245 1 0 _aRust atomics and locks :
_blow-level concurrency in practice /
_cMara Bos.
260 _aSebastopol, Califonia :
_bO'Reilly Media,
_c2022
264 1 _c©2023
264 4 _c©2023
300 _axvii, 230 pages :
_billustrations ;
_c24 cm
336 _atext
_btxt
_2rdacontent
337 _aunmediated
_bn
_2rdamedia
338 _avolume
_bnc
_2rdacarrier
504 _aIncludes index.
505 0 _a1. Basics of Rust Concurrency -- 2. Atomics -- 3. Memory Ordering -- 4. Building Our Own Spin Lock -- 5. Building Our Own Channels -- 6. Building Our Own "Arc" -- 7. Understanding the Processor -- 8. Operating System Primitives -- 9. Building Our Own Locks -- 10. Ideas and Inspiration.
520 _aThe Rust programming language is extremely well suited for concurrency, and its ecosystem has many libraries that include lots of concurrent data structures, locks, and more. But implementing those structures correctly can be very difficult. Even in the most well-used libraries, memory ordering bugs are not uncommon. In this practical book, Mara Bos, leader of the Rust library team, helps Rust programmers of all levels gain a clear understanding of low-level concurrency. You'll learn everything about atomics and memory ordering and how they're combined with basic operating system APIs to build common primitives like mutexes and condition variables. Once you're done, you'll have a firm grasp of how Rust's memory model, the processor, and the role of the operating system all fit together. With this guide, you'll learn: How Rust's type system works exceptionally well for programming concurrency correctly All about mutexes, condition variables, atomics, and memory ordering What happens in practice with atomic operations on Intel and ARM processors How locks are implemented with support from the operating system How to write correct code that includes concurrency, atomics, and locks How to build your own locking and synchronization primitives correctly.
650 0 _aRust (Computer program language)
650 0 _aComputer programming.
650 7 _aComputer programming.
_2fast
650 7 _aRust (Computer program language)
_2fast
942 _2lcc
_cBK
_hQA76.73.R87
_kQA
_mBOS
_n0
999 _c2165
_d2165