İş parçacığı havuzu nasıl, ne zaman ve kim kullandı:
Öncelikle bir bilgisayarda Node kullandığımızda / kurduğumuzda, bilgisayarda node işlemi olarak adlandırılan diğer işlemler arasında bir işlem başlatır ve siz onu öldürene kadar çalışmaya devam eder. Ve bu çalışan süreç bizim sözde tek iş parçacığımızdır.
Dolayısıyla, tek iş parçacığı mekanizması bir düğüm uygulamasını engellemeyi kolaylaştırır, ancak bu, Node.js'nin tabloya getirdiği benzersiz özelliklerden biridir. Dolayısıyla, düğüm uygulamanızı çalıştırırsanız, yalnızca tek bir iş parçacığında çalışacaktır. Uygulamanıza aynı anda erişen 1 veya milyon kullanıcınız olması fark etmez.
Öyleyse, düğüm uygulamanızı başlattığınızda, nodejs'nin tek iş parçacığında tam olarak ne olduğunu anlayalım. İlk önce program başlatılır, ardından tüm üst düzey kod çalıştırılır, bu da herhangi bir geri arama işlevinde bulunmayan tüm kodların ( tüm geri arama işlevlerindeki tüm kodların olay döngüsü altında yürütüleceğini unutmayın ) anlamına gelir.
Bundan sonra, yürütülen tüm modüller kodu daha sonra tüm geri aramayı kaydeder, son olarak, uygulamanız için olay döngüsü başlatılır.
Bu nedenle, daha önce tartıştığımız gibi, tüm geri çağırma işlevleri ve bu işlevlerin içindeki kodlar olay döngüsü altında çalıştırılacaktır. Olay döngüsünde, yükler farklı aşamalarda dağıtılır. Her neyse, burada olay döngüsü hakkında tartışmayacağım.
İş parçacığı havuzunun daha iyi anlaşılması için sizden olay döngüsünde, bir geri arama işlevinin içindeki kodların başka bir geri arama işlevi içindeki kodların yürütülmesini tamamladıktan sonra çalıştırılacağını hayal etmenizi rica ediyorum, şimdi bazı görevler gerçekten çok ağırsa. Daha sonra düğümlerimizin tek iş parçacığını bloke ederler. Ve böylece, olay döngüsü gibi iş parçacığı havuzunun geldiği yer burası, libuv kitaplığı tarafından Node.js'ye sağlanır.
Dolayısıyla iş parçacığı havuzu nodejs'nin bir parçası değildir, libuv tarafından ağır görevleri libuv'a devretmek için sağlanır ve libuv bu kodları kendi evrelerinde çalıştırır ve çalıştırıldıktan sonra libuv sonuçları olay döngüsündeki olaya döndürür.
İş parçacığı havuzu bize dört ek iş parçacığı verir, bunlar ana tek iş parçacığından tamamen ayrıdır. Ve aslında 128 iş parçacığına kadar yapılandırabiliriz.
Böylece tüm bu iplikler birlikte bir iş parçacığı havuzu oluşturdu. ve olay döngüsü daha sonra ağır görevleri iş parçacığı havuzuna otomatik olarak yükleyebilir.
İşin eğlenceli yanı, tüm bunların perde arkasında otomatik olarak gerçekleşmesidir. İş parçacığı havuzuna neyin girip neyin gitmeyeceğine karar veren biz geliştiriciler değiliz.
İş parçacığı havuzuna giden birçok görev var, örneğin
-> All operations dealing with files
->Everyting is related to cryptography, like caching passwords.
->All compression stuff
->DNS lookups