ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Rust Atomics and Locks

دانلود کتاب Rust Atomics and Locks

Rust Atomics and Locks

مشخصات کتاب

Rust Atomics and Locks

ویرایش: [1 ed.] 
نویسندگان:   
سری:  
ISBN (شابک) : 9781098119447 
ناشر: O'Reilly Media 
سال نشر: 2023 
تعداد صفحات: 220
[252] 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 3 Mb 

قیمت کتاب (تومان) : 33,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 7


در صورت تبدیل فایل کتاب Rust Atomics and Locks به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب Rust Atomics and Locks نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب Rust Atomics and Locks

زبان برنامه نویسی Rust برای همزمانی بسیار مناسب است و اکوسیستم آن دارای کتابخانه های زیادی است که شامل بسیاری از ساختارهای داده همزمان، قفل ها و موارد دیگر است. اما اجرای صحیح آن ساختارها می تواند بسیار دشوار باشد. حتی در پر استفاده ترین کتابخانه ها، اشکالات سفارش حافظه غیر معمول نیستند. در این کتاب عملی، Mara Bos، رهبر تیم کتابخانه Rust، به برنامه نویسان Rust در همه سطوح کمک می کند تا درک روشنی از همزمانی سطح پایین داشته باشند. شما همه چیز را در مورد اتم ها و ترتیب حافظه و نحوه ترکیب آنها با API های سیستم عامل اصلی برای ساختن اولیه های رایج مانند mutexes و متغیرهای شرط یاد خواهید گرفت. هنگامی که کار را تمام کردید، درک محکمی از نحوه تطبیق مدل حافظه Rust، پردازنده و نقش های سیستم عامل با هم خواهید داشت. با این راهنما، می‌آموزید: چگونه سیستم نوع Rust برای برنامه‌نویسی درست به‌خوبی کار می‌کند همه چیز درباره mutexes، متغیرهای شرط، اتم‌ها و ترتیب حافظه در عمل با عملیات اتمی پردازنده‌های Intel و ARM چگونه قفل می‌شود. با پشتیبانی از سیستم عامل پیاده سازی می شوند نحوه نوشتن کد صحیح که شامل همزمانی، اتمی و قفل می شود.


توضیحاتی درمورد کتاب به خارجی

The 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 roles 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



فهرست مطالب

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




نظرات کاربران