8/05/2005

Gelecekte Multithreading

Moore Yasalarına göre sistem kapasiteleri her 18 ayda bir ikiye katlanıyor. Ancak artık CPU performansını saat hızını arttırarak yükseltmek pek etkili gözükmüyor. Ayrıca 3GHZ'den sonra saat hızını arttırmak işlemcide çok fazla ısınmaya sebep oluyor.
CPU hızını arttırmak isimizi görmediğine göre, yeni yöntem birden fazla işlemcinin hızından faydalanarak performans arttırmak veya multithreading'den faydalanmak.
Sanırım multithreaded aplikasyon'lar üretebilmeyi öğrenmekte fayda var. Çünkü gelecek dual çöre işlemciler ve multithreaded aplikasyonlar üzerine kurulu gibi gözüküyor.

Thread nedir?
Thread, "thread of execution" (iş parçağının aldığı süre) birbirlerine paralel çalışabilen bir komut dizisidir. Thread, bir programın kendini aynı anda çalışan birden fazla parçaya bölerek bu işe uygun bir işlemcinin bu özellikten istifade ederek işlemleri daha kisa sürede gerçekleştirebilmesini sağlar. (Örneğin bir thread'de grafik işlemlerini yaparken, diğer bir thread'de gerekli program hesaplamalarını yapması gibi)

Parallel processing nedir?
Bir problem parçalara bölünüyor ve birden fazla işlemcinin bölünen parçalar üzerinde çalışıp, sonunda sonucu birleştirmesi sağlanıyor.

C# ile multithreading üzerine birçok makale ve kaynaklar bulabileceğiniz site;
http://www.c-sharpcorner.com/Multithreading.asp
VB.Net ile multithreaded programlamaya giriş;
http://www.startvbdotnet.com/threading/default.aspx