Product details
- Publisher : Packt Publishing (May 31, 2018)
- Language : English
- Paperback : 462 pages
- ISBN-10 : 1788399978
-
ISBN-13 : 978-1788399975
جلد سخت سیاه و سفید_کتاب Hands-On Concurrency with Rust: Confidently build memory-safe, parallel, and efficient software in Rust
Effectively meet modern software demands by using Rust's safe and powerful memory model
Key Features
- Learn and improve the sequential performance characteristics of your software
- Understand the use of operating system processes in a high-scale concurrent system
- Explore the different coordination methods available in the standard library
Book Description
Most programming languages can be challenging to work with, especially with regard to unsafe memory access. Moreover, the burden on you as a programmer involves two aspects: understanding the modern machine and your language's pain points. To help you tackle this, Hands-On Concurrency with Rust will guide you on how to manage program performance on modern machines and build fast, memory-safe, and concurrent software in Rust.
The book starts with the fundamentals of Rust and focuses on machine architecture concepts. You will then explore ways to measure and improve the performance of Rust code systematically and how to confidently write collections. As you progress, you will learn about the Sync and Send traits applied to threads, and coordinate thread execution with locks, atomic primitives, data-parallelism, and more. The book will also assist you in efficiently embedding Rust in C++ code, before helping you discover the functionalities of different crates for multithreaded applications. In later chapters, you'll go on to understand the implementations of lock-free and wait-free structures. You will also get up to speed with how a mutex works, along with learning to build them yourself. Finally, you'll master radically different approaches that exist in the ecosystem for structuring and managing high-scale systems.
By the end of this book, you will have gained the expertise you need to design safe, consistent, parallel, and high-performance applications in Rust.
What you will learn
- Examine your programs for performance and accuracy issues
- Create your own threading and multi-processing environment in Rust
- Use coarse locks from Rust's standard library
- Solve common synchronization problems or avoid synchronization using atomic programming
- Build lock-free and wait-free structures in Rust and understand their implementations in the crates ecosystem
- Leverage Rust's memory model and type system to integrate safety properties into your parallel programs
- Understand the new features of the Rust programming language to ease the process of writing parallel programs
Who This Book Is For
This book is for software engineers with a basic understanding of Rust, who want to safely use the parallel and concurrent nature of modern computing environments.
Table of Contents
- Preliminaries: Machine Architecture and Getting Started with Rust
- Sequential Rust Performance and Testing
- The Rust Memory Model: Ownership, References and Manipulation
- Sync and Send: the Foundation of Rust Concurrency
- Locks: Mutex, Condvar, Barriers and RWLock
- Atomics: The Primitives of Synchronization
- Atomics: Safely Reclaiming Memory
- High-Level Parallelism: Threadpools
- FFI and Embedding: Combining Rust and Other Languages
- Futurism: Near-Term Rust
منابع کتاب جلد سخت سیاه و سفید_کتاب Hands-On Concurrency with Rust: Confidently build memory-safe, parallel, and efficient software in Rust
با استفاده از مدل حافظه ایمن و قدرتمند Rust به طور موثر نیازهای نرم افزار مدرن را برآورده کنید
ویژگی های کلیدی
- ویژگی های عملکرد متوالی نرم افزار خود را بیاموزید و بهبود بخشید
- درک استفاده از فرآیندهای سیستم عامل در یک سیستم همزمان با مقیاس بالا
- روش های مختلف هماهنگی موجود در کتابخانه استاندارد را بررسی کنید
توضیحات کتاب
کار کردن با اکثر زبان های برنامه نویسی، به خصوص با توجه به دسترسی ناامن به حافظه، می تواند چالش برانگیز باشد. علاوه بر این، بار شما به عنوان یک برنامه نویس شامل دو جنبه است: درک ماشین مدرن و نقاط دردناک زبان شما. برای کمک به شما در مقابله با این موضوع، Hands-On Concurrency with Rust شما را در مورد نحوه مدیریت عملکرد برنامه در ماشینهای مدرن و ساخت نرمافزار سریع، ایمن و همزمان در Rust راهنمایی میکند.
کتاب با اصول Rust شروع می شود و بر مفاهیم معماری ماشین تمرکز دارد. سپس راههایی را برای اندازهگیری و بهبود عملکرد Rust Code به طور سیستماتیک و نحوه نوشتن مجموعهها با اطمینان بررسی خواهید کرد. همانطور که پیشرفت می کنید، در مورد ویژگی های Sync و Send اعمال شده روی رشته ها، و هماهنگی اجرای رشته با قفل ها، اصول اولیه اتمی، موازی سازی داده ها و موارد دیگر خواهید آموخت. این کتاب همچنین به شما کمک می کند تا Rust را به طور موثر در کد C++ جاسازی کنید، قبل از اینکه به شما کمک کند عملکردهای جعبه های مختلف را برای برنامه های چند رشته ای کشف کنید. در فصلهای بعدی، به درک پیادهسازی ساختارهای بدون قفل و بدون انتظار خواهید پرداخت. شما همچنین با نحوه کار یک mutex و همچنین یادگیری ساختن خود آنها آشنا خواهید شد. بالاخره تو
در پایان این کتاب، شما تخصص لازم برای طراحی برنامه های کاربردی ایمن، سازگار، موازی و با کارایی بالا را در Rust به دست خواهید آورد.
آنچه خواهید آموخت
- برنامه های خود را از نظر عملکرد و دقت بررسی کنید
- محیط threading و multi-processing خود را در Rust ایجاد کنید
- از قفل های درشت از کتابخانه استاندارد Rust استفاده کنید
- مشکلات رایج همگام سازی را حل کنید یا از همگام سازی با استفاده از برنامه نویسی اتمی اجتناب کنید
- سازههای بدون قفل و بدون انتظار در Rust بسازید و اجرای آنها را در اکوسیستم جعبهها درک کنید.
- از مدل و سیستم نوع حافظه Rust برای ادغام ویژگی های ایمنی در برنامه های موازی خود استفاده کنید
- با ویژگی های جدید زبان برنامه نویسی Rust آشنا شوید تا روند نوشتن برنامه های موازی را آسان کنید
این کتاب برای چه کسی است
این کتاب برای مهندسین نرم افزار با درک اولیه Rust است که می خواهند با خیال راحت از طبیعت موازی و همزمان محیط های محاسباتی مدرن استفاده کنند.
فهرست مطالب
- مقدمات: معماری ماشین و شروع به کار با زنگ
- عملکرد و تست زنگ متوالی
- مدل حافظه زنگ زده: مالکیت، مراجع و دستکاری
- همگام سازی و ارسال: پایه و اساس Rust Concurrency
- قفل ها: Mutex، Condvar، Barriers و RWLock
- اتمی: اصول اولیه همگام سازی
- Atomics: Safely Reclaiming Memory
- موازی سازی سطح بالا: Threadpools
- FFI و Embedding: ترکیب زنگ و زبان های دیگر
- آینده پژوهی: زنگ نزدیک مدت
ارسال نظر درباره جلد سخت سیاه و سفید_کتاب Hands-On Concurrency with Rust: Confidently build memory-safe, parallel, and efficient software in Rust