ورود به حساب

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

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

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

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

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

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


09117307688
09117179751

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

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

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

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

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

پشتیبانی

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

دانلود کتاب Asynchronous Programming in Rust: Building Working Examples of Futures, Green Threads, and Runtimes

دانلود کتاب برنامه نویسی ناهمزمان در Rust: ساختن نمونه های کاری از آینده ها، موضوعات سبز و زمان اجرا

Asynchronous Programming in Rust: Building Working Examples of Futures, Green Threads, and Runtimes

مشخصات کتاب

Asynchronous Programming in Rust: Building Working Examples of Futures, Green Threads, and Runtimes

ویرایش: [1 ed.] 
نویسندگان:   
سری:  
ISBN (شابک) : 9781805128137 
ناشر: Packt Publishing Pvt Ltd 
سال نشر: 2024 
تعداد صفحات: 682 
زبان: English 
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 9 Mb 

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



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

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


در صورت تبدیل فایل کتاب Asynchronous Programming in Rust: Building Working Examples of Futures, Green Threads, and Runtimes به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب برنامه نویسی ناهمزمان در Rust: ساختن نمونه های کاری از آینده ها، موضوعات سبز و زمان اجرا نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب برنامه نویسی ناهمزمان در Rust: ساختن نمونه های کاری از آینده ها، موضوعات سبز و زمان اجرا

با این کتاب تفاوت های ظریف انتقال از زبان های سطح بالا به Rust را کاوش کنید.


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

Explore the nuances of transitioning from high-level languages to Rust with this book.



فهرست مطالب

Asynchronous Programming in Rust
Contributors
About the author
About the reviewer
Preface
   Who this book is for
   What this book covers
   To get the most out of this book
   Download the example code files
   Conventions used
   Get in touch
   Share your thoughts
   Download a free PDF copy of this book
Part 1:Asynchronous Programming Fundamentals
1
Concurrency and Asynchronous Programming: a Detailed Overview
   Technical requirements
   An evolutionary journey of multitasking
      Non-preemptive multitasking
      Preemptive multitasking
      Hyper-threading
      Multicore processors
      Do you really write synchronous code?
   Concurrency versus parallelism
      The mental model I use
      Let’s draw some parallels to process economics
      Concurrency and its relation to I/O
      What about threads provided by the operating system?
      Choosing the right reference frame
      Asynchronous versus concurrent
   The role of the operating system
      Concurrency from the operating system’s perspective
      Teaming up with the operating system
      Communicating with the operating system
   The CPU and the operating system
      Down the rabbit hole
      How does the CPU prevent us from accessing memory we’re not supposed to access?
      But can’t we just change the page table in the CPU?
   Interrupts, firmware, and I/O
      A simplified overview
      Interrupts
      Firmware
   Summary
2
How Programming Languages Model Asynchronous Program Flow
   Definitions
      Threads
   Threads provided by the operating system
      Creating new threads takes time
      Each thread has its own stack
      Context switching
      Scheduling
      The advantage of decoupling asynchronous operations from OS threads
      Example
   Fibers and green threads
      Each stack has a fixed space
      Context switching
      Scheduling
      FFI
   Callback based approaches
   Coroutines: promises and futures
      Coroutines and async/await
   Summary
3
Understanding OS-Backed Event Queues, System Calls, and Cross-Platform Abstractions
   Technical requirements
      Running the Linux examples
   Why use an OS-backed event queue?
      Blocking I/O
      Non-blocking I/O
      Event queuing via epoll/kqueue and IOCP
   Readiness-based event queues
   Completion-based event queues
   epoll, kqueue, and IOCP
   Cross-platform event queues
   System calls, FFI, and cross-platform abstractions
      The lowest level of abstraction
      The next level of abstraction
      The highest level of abstraction
   Summary
Part 2:Event Queues and Green Threads
4
Create Your Own Event Queue
   Technical requirements
   Design and introduction to epoll
      Is all I/O blocking?
   The ffi module
      Bitflags and bitmasks
      Level-triggered versus edge-triggered events
   The Poll module
   The main program
   Summary
5
Creating Our Own Fibers
   Technical requirements
   How to use the repository alongside the book
   Background information
      Instruction sets, hardware architectures, and ABIs
      The System V ABI for x86-64
      A quick introduction to Assembly language
   An example we can build upon
      Setting up our project
      An introduction to Rust inline assembly macro
      Running our example
   The stack
      What does the stack look like?
      Stack sizes
   Implementing our own fibers
      Implementing the runtime
      Guard, skip, and switch functions
   Finishing thoughts
   Summary
Part 3:Futures and async/await in Rust
6
Futures in Rust
   What is a future?
   Leaf futures
   Non-leaf futures
   A mental model of an async runtime
   What the Rust language and standard library take care of
   I/O vs CPU-intensive tasks
   Summary
7
Coroutines and async/await
   Technical requirements
   Introduction to stackless coroutines
   An example of hand-written coroutines
      Futures module
      HTTP module
      Do all futures have to be lazy?
      Creating coroutines
   async/await
      coroutine/wait
      corofy—the coroutine preprocessor
      b-async-await—an example of a coroutine/wait transformation
   c-async-await—concurrent futures
   Final thoughts
   Summary
8
Runtimes, Wakers, and the Reactor-Executor Pattern
   Technical requirements
   Introduction to runtimes and why we need them
      Reactors and executors
   Improving our base example
      Design
      Changing the current implementation
   Creating a proper runtime
   Step 1 – Improving our runtime design by adding a Reactor and a Waker
      Creating a Waker
      Changing the Future definition
   Step 2 – Implementing a proper Executor
   Step 3 – Implementing a proper Reactor
   Experimenting with our new runtime
      An example using concurrency
      Running multiple futures concurrently and in parallel
   Summary
9
Coroutines, Self-Referential Structs, and Pinning
   Technical requirements
   Improving our example 1 – variables
      Setting up the base example
      Improving our base example
   Improving our example 2 – references
   Improving our example 3 – this is… not… good…
   Discovering self-referential structs
      What is a move?
   Pinning in Rust
      Pinning in theory
      Definitions
      Pinning to the heap
      Pinning to the stack
      Pin projections and structural pinning
   Improving our example 4 – pinning to the rescue
      future.rs
      http.rs
      Main.rs
      executor.rs
   Summary
10
Creating Your Own Runtime
   Technical requirements
      Setting up our example
      main.rs
      future.rs
      http.rs
      executor.rs
      reactor.rs
   Experimenting with our runtime
   Challenges with asynchronous Rust
      Explicit versus implicit reactor instantiation
      Ergonomics versus efficiency and flexibility
      Common traits that everyone agrees about
      Async drop
   The future of asynchronous Rust
   Summary
   Epilogue
Index
   Why subscribe?
Other Books You May Enjoy
   Packt is searching for authors like you
   Share your thoughts
   Download a free PDF copy of this book




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