Ruby Kod Parçacıkları 34 - Fiber ve Eş Zamanlı Programlama

Eş zamanlı programlanın farklı dillerde veya çatılarda farklı uygulanma şekilleri olabiliyor. Esas itibariyle genel amaç eş zamanlı olarak birden fazla işin gerçekleştirilmesini sağlayabilmek. Bu noktada en zorlayıcı noktalardan birisi işlemcinin ve işletim sisteminin bu çalışma taleplerine olan anlık tepkilerinin yönetilmesi. Neredeyse pek çok programlama ortamında Thread'ler ile karşılaşıyoruz. Ruby tarafında da böyle bir yapı mevcut ama bunun dışında Fiber adı verilen farklı bir tip daha var. [Daha fazla]

Ruby Kod Parçacıkları 28 - Multithreading ve Mutex Kullanımı

Ruby Kod Parçacıkları serimizin bir önceki bölümünde çoklu iş parçacıklarının(Multithreading) nasıl yazılabileceğini incelemeye başlamıştık. Başrol oyuncumuz olan Thread sınıfının kullanımını gördük. Lakin birden fazla iş parçacığının ele alındığı senaryolarda dikkat edilmesi gereken önemli konulardan birisi de ortak veriler üzerinde işlemler yapıldığında ortaya çıkmaktadır. Eş zamanlı olarak çalışan iş parçacıkları bazı durumlarda verinin tutarlılığının bozulmasına neden olabilir. Nitekim n sayıda iş parçacığının farklı anlarda aynı veri üzerinde işlem yapması söz konusudur. Birbirlerinin işlerini kesebilirler. [Daha fazla]

WCF–Concurrency

Windows Communication Foundation içerisinde önem arz eden konuların başında, istemciden gelen taleplerin eş zamanlı olarak değerlendirilme stratejilerine karar verilmesi de gelir. Aslında bir servis davranış biçimi olan ve Single, Multiple, Reentrant olmak üzere 3 farklı modda uygulanabilen Concurrency, tek başına değil, Instance Context Mode ile birlikte düşünülmelidir. Servislerin PerCall, PerSession ve Single gibi modlarda örneklenebildikleri düşünüldüğünde ortaya, 9 farklı kombinasyon çıkmaktadır. İşte bu görsel dersimizde WCF Concurrency konusuna değiniyor ve örnek bir uygulama üzerinden Instance Context Mode ile olan kullanımını kavramaya çalışıyoruz.

Gribal sorunlar nedeniyle zaman zaman konuşmakta zorlandığım ve sık sık öksürmek zorunda kaldığım görsel dersimizi Nedirtv Youtube kanalından da izleyebilirsiniz. [Daha fazla]

İşe Yarar Bir MultiThreading(Çok Kanallı) Uygulama Örneği

Bundan önceki üç makalemizde iş parçacıkları hakkında bilgiler vermeye çalıştım. Bu makalemde ise işimize yarayacak tarzda bir uygulama geliştirecek ve bilgilerimizi pekiştireceğiz. Bir iş parçacığının belkide en çok işe yarayacağı yerlerden birisi veritabanı uygulamalarıdır. Bazen programımız çok uzun bir sonuç kümesi döndürecek sorgulara veya uzun sürecek güncelleme ifadeleri içeren sql cümlelerine sahip olabilir. Böyle bir durumda programın diğer öğeleri ile olan aktivitemizi devam ettirebilmek isteyebiliriz. Ya da aynı anda bir den fazla iş parçacığında, birden fazla veritabanı işlemini yaptırarak bu işlemlerin tamamının daha kısa sürelerde bitmesini sağlıyabiliriz. İşte bu gibi nedenleri göz önüne alarak bu gün birlikte basit ama faydalı olacağına inandığım bir uygulama geliştireceğiz. [Daha fazla]