Koroutinler Nedir ve Nasıl Çalışırlar?
Bir eşyordam, belirli noktalarda duraklatılabilen ve devam ettirilebilen, diğer eşyordamların arada çalışmasına izin veren özel bir fonksiyon türüdür. Bu, sistem kaynaklarının daha verimli kullanılmasının yanı sıra, programı engellemeden veya dondurmadan birden fazla eşzamanlı görevi yerine getirme becerisine olanak tanır.
Koroutinler iş parçacıklarına benzer, ancak çok daha hafiftirler ve kullanımı daha kolaydır. Ayrıca askıya alma ve yeniden başlatma için yerleşik desteğe sahiptirler, bu da onları iş parçacıklarından daha verimli ve daha güvenli kılar.
İşte eşyordamların bazı temel özellikleri şunlardır:
1. Hafif: Eşyordamlar iş parçacıklarından çok daha küçük ve daha verimlidir, bu da onların kullanımını ve yönetimini kolaylaştırır.
2. Askıya alma ve yeniden başlatma: Eşyordamlar belirli noktalarda duraklatılabilir ve devam ettirilebilir, böylece diğer ortak yordamların arada çalışmasına izin verilir.
3. Eşzamansız yürütme: Eşyordamlar eşzamansız olarak yürütülebilir ve programı engellemeden veya dondurmadan birden fazla görevin eş zamanlı yürütülmesine olanak tanır.
4. Yerleşik destek: Birçok programlama dili ve çerçevesi, eşyordamlar için yerleşik destek sağlayarak bunları kodunuzda kullanmayı kolaylaştırır.
5. İş parçacıklarından daha güvenli: Eşyordamlar iş parçacıklarından daha güvenlidir çünkü askıya alma ve yeniden başlatma için yerleşik desteğe sahiptirler, bu da eşzamanlı yürütmeyi yönetmeyi ve hata ayıklamayı kolaylaştırır.
İşte Python'da basit bir eşyordam örneği:
```
async def my_coroutine ():
print("Coutine'imden merhaba!")
wait asyncio.sleep(1)
print("Coutine'imden elveda!")
```
Bu coroutine "Coutine'imden merhaba!" yazacak. ve ardından 1 saniye duraklayın. Bu süre zarfında diğer eşyordamlar çalışabilir. Duraklamanın ardından "Güncel programımdan elveda!" yazacaktır. ve bitiş.
Koroutinler, görevlerin eş zamanlı yürütülmesini yönetmek için güçlü bir araçtır ve modern programlamada giderek daha popüler hale gelmektedir.