C# ile Multithreading

Arada sorduğum ödev sorularından, arada paylaştığım içeriklerden bazılarınız hala okuduğumu biliyor fakat bilmeyenler için ise Ahmet Yesevi Üniversitesi, Bilgisayar Mühendisliği 2. sınıf’ta olduğumu belirteyim.

Neyse, bu dönem içinde ilk defa işe yarayabilecek birşey bulmuşken sizinle de paylaşayım dedim. İşletim sistemleri dersinde karşılaştığım bu Multithreading ödevini C# ile yaptım ve birilerinizin işine yarayabileceğini düşünüyorum.

Ödev sorusu şu şekilde idi;

Multithreading : 256×256 bir matris oluşturulduktan sonra 4 adet paralel çalışan thread yaratılacaktır. Her bir thread, matrisin farklı 128×128 bölümlerine 1 ile 10 arasında rasgele sayı yerleştirecek ve hangi sayıdan kaç tane yerleştirildiğini tutacaktır. Bütün threadler işlerini tamamladıktan sonra threadlerden biri, bütün threadlerin hesaplamalarından son hesaplamayı yapacaktır ve sonuçları ekrana yazdıracaktır. (son thread ekrana, matrisin içerisinde hangi sayıdan kaç tane olduğunu yazdıracaktır).

Ve C# ile yazdığım kod şu şekilde; 

Öncelikle ortak olarak kullanacağımız değişkenleri tanımlıyoruz.

Sonrasında hesaplamalar için ayri bir method oluşturuyoruz ve hesaplamamızı burada yapıyoruz.
Bu alanda dikkat etmemiz gereken alan, soruda geçen son thread’ın yapması gereken bir görev olduğu. Ve bu görevi yapması için de son thread’ı en kısa yoldan bolumler listesinin sayısından, yani if(bolumler.Count ==4) kısmından bulabiliyor ve ilgili işlemleri yaptırabiliyoruz.

Ve en son olarak bu methodu, ana kısımda çağırıyor, oluşturuyor ve sonrasında da oluşan cevabı ekrana yazdırıyoruz.

Eğer bir sorunuz, sorununuz olursa yazılarınızı bekliyorum.

Genel olarak web üzerine yoğunlaşan, gaza gelmek için müzik dinleyen, amatör olarak resim çekmeye çalışan, bir yandan özel bir şirkette çalışıp, diğer yandan da okumaya devam eden sıradan bir ölümlü. He bide buraların sahibi.

Leave a reply:

Your email address will not be published.