Composite Cancellations 26 Nisan 2011 Burak-Selim-Senyurt Parallel Programming, TPL Bildiğiniz üzere Task iptal taleplerinde, CancellationTokenSource örneğine ait Cancel metodunun çağırılması gerekmektedir. CancellationTokenSource örneği üzerinden yapılan iptal taleplerinin hangi Task işleyişini keseceğinin belirlenmesinde ise CancellationToken örneklerinden yararlanılmaktadır. [Daha fazla]
TPL Senkronizasyonu Sağlamak - 1 27 Ocak 2011 Burak-Selim-Senyurt Parallel Programming, TPL TPL ve Shared Data Isolation başlıklı yazımızda, n sayıda Task örneğinin ortaklaşa kullandıkları bir veri alanı üzerindeki işlemlerinin, ne gibi sonuçlara yol açabileceğini incelemiş ve bunun önün geçmek için basit bir kaç yolu ele almıştık. [Daha fazla]
AttachedToParent Hakkında Detaylar 02 Eylül 2010 Burak-Selim-Senyurt Parallel Programming, TPL Daha önceki iki yazımızda(Parent-Child Tasks Kavramı, Parent-Child Task Exception Durumlar) sürekli olarak AttachedToParent metodunun belirli bir kullanımını ele aldık. Oysa ki, Child Task örneklerinin Parent Task örneklerinin yaşam döngülerine eklenmelerinde izlenebilecek birden fazla yol bulunmaktadır. Buna göre Parent Task örneğine dahil olmak için aşağıdaki tekniklerden herhangibirisinden yararlanılabilir. [Daha fazla]
Parent-Child Task Exception Durumları 03 Ağustos 2010 Burak-Selim-Senyurt C# 4.0, Parallel Programming, TPL Hatırlayacağınız üzere Parent-Child Tasks Kavramı başlıklı yazımızda .Net Framework 4.0 tarafında paralel programlamada önemli bir yere sahip olan Task örnekleri arasındaki Parent, Child ilişkiyi incelemeye çalışmıştık. Parent-Task nesne örnekleri arasındaki ilişkilerde bilinmesi gereken konulardan birisi de, istisnaların nasıl ele alındığıdır(Exception Handling). Aslında konuya hızlı bir giriş yaparak ilerlememiz şu aşamada avantajımız olacaktır. [Daha fazla]
TPL – Göz Göre Göre Başımızı Belaya Sokmak 21 Haziran 2010 Burak-Selim-Senyurt Parallel Programming, TPL Ancak birden fazla iş parçasının da deadlock’ a düşmesi, bir başka deyişle birbirlerini beklemeleri nedeniyle, içinde çalıştıkları Thread’ i(çoğunlukla ana uygulama iş parçası-Main Thread) kitlemeleri söz konusudur. Durumu daha net anlayabilmek için aşağıdaki kod parçasını göz önüne alalım. [Daha fazla]
Parent-Child Tasks Kavramı 11 Haziran 2010 Burak-Selim-Senyurt Parallel Programming, TPL Ancak Task nesne örneklerinin devreye girdiği noktada, Parent-Child ilişkiler kurularak Planlanmış/Yapılandırılmış görevlerin(Structured Tasks) oluşturulması da mümkündür. [Daha fazla]
FORParallelism 16 Aralık 2009 Burak-Selim-Senyurt TPL Günümüz yazılım teknolojilerinin belkide en popüler olan konularından biriside paralel programlamadır(Parallel Programming). Özellikle kullanıcı bilgisayarlarının artık birden fazla çekirdeğe sahip işlemcilerle donatılmış olduğu düşünüldüğünde geliştirme ortamlarının da(.Net Framework 4.0' da olduğu üzere) paralel programlamaya daha fazla destek vermeye başladığını görmekteyiz. [Daha fazla]
Task Parallel Library(TPL) - Detached Tasks [Beta 2] 12 Kasım 2009 Burak-Selim-Senyurt TPL Bir önceki yazımızda Task Parallel Library tarafında .Net Framework 4.0 Beta 2 tabanlı olarak iptal işlemleri(Task Cancellation) için yapılan değişikliklere değinmeye çalışmıştık. TPL tarafında yapılan değişikliklerden birisi de iç içe çalışan Task' ler arasındaki Parent - Child ilişkiye yönelik olarak yapılmıştır. Aslında basit bir davranış değişikliği olduğunu söyleyebiliriz. Konuyu daha net kavramak amacıyla aşağıdaki örnek kod parçasını göz önüne alalım. [Daha fazla]
Task Parallel Library(TPL) - İptal İşlemi [Beta 2] 12 Kasım 2009 Burak-Selim-Senyurt TPL Uzun süredir .Net Framework 4.0' ın bir parçası olarak gelen paralel programlama alt yapısı ile uğraşmıyordum. En son Beta 1 sürümündeyken Task Parallel Library ve PLINQ ile ilişkili konulara bakma fırsatım olmuştu. Zaman ilerledi ve .Net Framework 4.0 Beta 2 sürümü yayınlandı. [Daha fazla]
for mu, foreach mi? Yoksa Parallel.For mu, Parallel.ForEach mi? [Beta 1] 09 Haziran 2009 Burak-Selim-Senyurt TPL Gecenin bu saatinde uyuyamayıp blog' uma bir şeyler yazmak isteyişimin sebebi, bu gün bir okurumdan gelen şu sorudur; "Madem Parallel.For veya Parallel.ForEach ile herşey daha hızlı oluyor, niye normal for ve foreach döngülerini bu formasyona sokmuyorlarda ek bir şeyler ilave ediyorlar". Dolayısıyla klavyemi elime aldım ve hemen bir test programı yazmaya koyuldum. [Daha fazla]
TPL - İptal İşlemi [Beta 1] 08 Haziran 2009 Burak-Selim-Senyurt TPL Bir önceki blog yazımda, TPL kullanılarak WinForms uygulamalarında paralel işlemlerin nasıl yapılabileceğini ele almaya çalışmıştım. Örnekte son geldiğimiz noktaya bakıldığında aşağıdaki kazanımları elde ettiğimizi düşünebiliriz. [Daha fazla]
TPL ile WinForms Macerası [Beta 1] 07 Haziran 2009 Burak-Selim-Senyurt TPL Dün gece Task Parallel Library ile ilgili olarak internette araştırma yaparken, örnekleri çoğunlukla(hatta tamamen) Console uygulamaları üzerinde geliştirdiğimi farkettim. Oysaki TPL veya PLINQ gibi alt yapıların, WinForms yada WPF(Windows Presentation Foundation) uygulamalarında nasıl kullanılabileceğide önemli bir konuydu. Özellikle Windows Form' larının TPL çalışmalarına karşı nasıl tepkilerde bulunabileceği belkide en önemli noktaydı. [Daha fazla]
TPL için Önemli Bir Kavram : Task [Beta 1] 04 Haziran 2009 Burak-Selim-Senyurt TPL Bir önceki blog yazımda Task Parallel Library alt yapısının ne olduğunu sizlere aktarmaya çalışmıştım. Tabiki bu alt yapı üzerinde durulması gereken pek çok konu bulunmaktadır. Heyecanım çok, anlatmak içinde sabırsızlanıyorum. Ama her zamanki gibi adım adım ilerlemekte ve acele etmemekte yarar olduğu kansındayın. TPL ile ilişkili önemli konulardan birisi Task(yada Task) sınıfıdır. TPL esas itibariyle görev adı verilen küçük iş parçaları üzerine kurulu bir yapı olarak düşünülebilir. Bu nedenle Task sınıfı son derece önemlidir. [Daha fazla]
TPL(Task Parallel Library) Nedir? [Beta 1] 03 Haziran 2009 Burak-Selim-Senyurt TPL Özellikle işlemcilerin bu şekilde ilerlemesine paralel olarak, yazılım geliştirme ortamlarında da pekala pek çok değişiklik ve yenilikçi fikir ortaya çıktı. Son zamanların özellikle Microsoft .Net cephesindeki en popüler konularından biriside paralel genişletmeler(Parallel Extensions). Bir başka deyişle, sistemin sahip olduğu işlemci gücünün tümünü kullanarak(Arabanın hakkını ver hakkını Smile ), paralel işlemler veya eş zamanlı yürütmelerin gerçekleştirilmesi. [Daha fazla]