
Tokio & Async I/O
Tokio runtime, async tasks, select!, join!, timeout, tokio::spawn, async I/O tệp/mạng
1Vai trò chính của runtime Tokio trong một ứng dụng Rust bất đồng bộ là gì?
Vai trò chính của runtime Tokio trong một ứng dụng Rust bất đồng bộ là gì?
Câu trả lời
Runtime Tokio cung cấp một executor để poll các future cho đến khi hoàn thành. Nó cũng quản lý một scheduler đa thread (mặc định) để phân phối các task trên nhiều thread OS, cùng với một reactor cho các thao tác I/O bất đồng bộ. Nếu không có runtime, các future của Rust sẽ không làm gì cả vì chúng mặc định là lazy.
2Làm thế nào để khởi tạo runtime Tokio bằng macro #[tokio::main]?
Làm thế nào để khởi tạo runtime Tokio bằng macro #[tokio::main]?
Câu trả lời
Macro #[tokio::main] biến đổi một hàm async main() thành một điểm vào đồng bộ, tạo ra một runtime Tokio đa thread và thực thi hàm async. Macro này tự động sinh ra phần boilerplate cần thiết để tạo runtime và block cho đến khi future chính hoàn thành.
3Sự khác biệt giữa #[tokio::main] và #[tokio::main(flavor = "current_thread")] là gì?
Sự khác biệt giữa #[tokio::main] và #[tokio::main(flavor = "current_thread")] là gì?
Câu trả lời
Theo mặc định, #[tokio::main] tạo ra một runtime đa thread phân phối các task trên một pool worker thread. Với flavor = "current_thread", runtime chỉ thực thi tất cả các task trên thread chính, điều này hữu ích cho việc kiểm thử, các ứng dụng đơn giản hoặc khi cần tránh chia sẻ dữ liệu giữa các thread.
tokio::spawn() làm gì và nó trả về kiểu dữ liệu nào?
Tại sao các future được truyền vào tokio::spawn() phải là 'static?
+19 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Rust khác
Cơ bản về Rust
Ownership & Borrowing
Structs & Enums
Xử lý lỗi
Collections
Modules & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde & Serialization
Unsafe Rust
Trait nâng cao
Lifetime Nâng Cao
Type System
Tối ưu hóa Hiệu suất
Memory Management
Web Frameworks
Database Integration
Design Pattern trong Rust
Nắm vững Rust cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí