Bu metinde ele alınan temel sorun, Rust'ın asenkron programlama modelindeki Future özelliğinin barındırdığı temel bir kısıtlamadır: Bir "future"ın bekliyor (pending) olması ile kalıcı olarak tamamlanmış olması arasındaki farkın ayırt edilememesi. Mevcut durumda Poll enum'ı yalnızca Poll::Pending ve Poll::Ready(T) seçeneklerini sunmaktadır; bu da bir future bir değer döndürdüğünde, tamamlandığı bilgisini sonraki "poller"lara bildirebileceği standart bir yöntemin bulunmadığı anlamına gelir. Standart kütüphane dokümantasyonu, tamamlanmış bir future üzerinde poll işlemini çağırmanın desteklenmediğini; bunun sonucunda panik hatalarına, sonsuz bloklamalara veya tanımlanmamış davranışlara yol açabileceğini açıkça belirtmektedir. Bu tasarım kusuru, ... yaşam döngüsünü yönetmek zorunda kalan geliştiriciler için önemli zorluklar yaratmaktadır.

Konular: Rust Programlama: Asenkron Eşzamanlılık ve Sistem Programlama

SiteM’de tam özet, flashcard ve quiz →

Orijinal kaynak: blog.yoshuawuyts.com

Kaynak: sitem.co — paylas.io yer imi / keşif katmanı.