Tokio
Tokio provides:
- یک runtime از نوع multi-thread برای اجرای کدهای ناهمزمان(asynchronous).
- یک asynchronous version کتابخانهای استاندارد است.
- اکوسیستم بزرگی از کتابخانهها.
Speaker Notes
-
با ماکرو
tokio::main
اکنون میتوانیمmain
را async کنیم. -
تابع
spawn
یک “task” جدید و همزمان ایجاد میکند. -
توجه:
spawn
یکFuture
میگیرد، شما.await
را درcount_to
صدا نمیزنید.
Further بررسی:
-
چرا
count_to
(معمولا) به مقدار ۱۰ نمیرسد؟ این نمونهای از لغو async است.tokio::spawn
یک handle را برمیگرداند که میتوان مدتی منتظر ماند تا تمام شود. -
به جای spawn مورد
count_to(10).await
» را امتحان کنید. -
منتظر کار برگشتی از
tokio::spawn
باشید.