ورود به حساب

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

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

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

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

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

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


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

ویرایش:  
نویسندگان:   
سری:  
ISBN (شابک) : 9781805128137 
ناشر: Packt 
سال نشر: 2024 
تعداد صفحات: 302 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 7 مگابایت 

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



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

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


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

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


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



فهرست مطالب

Cover
Title Page
Copyright
Dedication
Contributors
Table of Contents
Preface
Part 1:Asynchronous Programming Fundamentals
Chapter 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
Chapter 2: Concurrency and Asynchronous Programming: a Detailed OverviewHow 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
About PACKT




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