کانال‌های Async

چندین crate از asynchronous channel پشتیبانی می‌کنند. به عنوان مثال tokio:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 8 minutes.
  • اندازه کانال را به3 تغییر دهید و ببینید که چگونه بر اجرا تأثیر می‌گذارد.

  • به‌طور‌کلی، interface شبیه به channelهای sync است که در کلاس صبح‌گاهی دیده می‌شود.

  • تماس std::mem::drop را حذف کنید. چه اتفاقی می‌افتد؟ چرا؟

  • این crate مربوط به Flume دارای کانال‌هایی است که sync و async send و recv را اجرا می‌کنند. این کار می‌تواند برای برنامه‌های پیچیده با taskهای پردازشی IO و CPU سنگین مناسب باشد.

  • چیزی که کار با کانال‌های async را ترجیح می‌دهد، توانایی ترکیب آن‌ها با دیگر future برای ترکیب آنها و ایجاد جریان کنترل پیچیده است.