Swift | Process-Thread-Dispatchqueue
--
📺 Bu konuyu tam olarak anlamak ve kafanızda soru işaretleri kalmaması için ilk olarak çektiğim videoyu izlemelisiniz daha sonra bu yazıya devam etmelisiniz. 👇
Videoyu izlediyseniz Swift dilinde Biometric Authentication işlemlerinin nasıl yapıldığını gayet detaylı ve açıklayıcı şekilde öğrenmişsinizdir. Şimdi gelelim videoda kullandığım Dispatchqueue konusuna. Yazı başlığında da gördüğünüz üzere bunu anlamak için sırası ile Process ve Thread’in ne olduğunu ve biraz da işlevlerini bilmemiz gerekiyor. Daha sonra Dispatchqueue olayını çok iyi anlayabiliriz.
Process
Çalışan bir uygulamaya Process denir, henüz çalışmıyorsa bu bir uygulama veya program olarak kalır, çalıştığı an Process olur. Process’in içinde ise Thread’ler yani iş parçacıkları vardır. 👇
Her thread bir process değildir ama her process mutlaka bir thread içerir
Thread
İş parçacığı demektir. Bir uygulama çalıştığı anda main Thread ile başlar ve sonrasında yazılan diğer Thread’leri gerçekleştirmeye başlar. Processlerin içinde birden fazla thread olabilir ve bunlar sıra ile çalıştırılır daha sonra tek bir kaynaktan çıkış yapar ve neredeyse eş zamanlı olarak çalıştırılır. Günümüzde bu işlemlerin eş zamanlı ve hızlı bir şekilde yapılması aslında işlemcilerin çekirdeklerine ve hızlarına bağlıdır. Thread’in nasıl çalıştığını daha iyi anlamak için aşağıdaki akış diyagramı çok açıklayıcı olacaktır.
Örnek bir görsel:
Gelelim asıl meselemize
Dispatchqueue
Yukarda dediğim gibi 👆 ⬇️
Bir uygulama çalıştığı anda main Thread ile başlar.