Yeni
Yükleniyor..

Who Am I

Merhaba Hoşgeldiniz ben İbrahim Gültepe Yazılım ve Siber Güvenlik uzmanıyım bu bloğu açmamdaki neden C# eğitimi ve güncel olan virüs donanım sorunlarını çözmek ve sizinde yapabileceğiniz hack çalışmalarını öğretmek.

C# THREAD Sınıfı Nedir , Ne İşe Yarar , Mantığı

Thread sınıfı için türkçe kaynak maalesef çok az, bu yazıyla beraber artık Thread sınıfını tüm detaylarını, ne için kullanıldığını, Thread ile Process sınıfı arasında ilişki nedir uygulamalı olarak göreceğiz.
Bazı Thread komutları;
Thread.AllocateDataSlot();
Thread.AllocateNamedDataSlot();
Thread.BeginCriticalRegion();
Thread.BeginThreadAffinity();
Thread.CurrentContext();
Thread.CurrentPrincipal();
Thread.CurrentThread();
Thread.EndCriticalRegion();
Thread.EndThreadAffinity();
Thread.Equals();
Thread.FreeNamedDataSlot();
Thread.GetData();
Thread.GetDomain();
Thread.GetDomainID();
Thread.GetNamedDataSlot();
Thread.MemoryBarrier();
Thread.ReferenceEquals();
Thread.ResetAbort();
Thread.SetData();
Thread.Sleep();
Thread.SpinWait();
Thread.VolatileRead();
Thread.VolatileWrite();
Thread.Yield();


Biz buradan önce Thread.Sleep(); ile başlayacağız çünkü Thread konusunun en sade ve anlaşılır şekilde görünen hali olacaktır.
Bu uygulamayı Console olarak oluşturalım, isim uzayımız;
using System.Threading;
Aşağıdaki kodları satır satır inceleyelim;
static void Main(string[] args)
{
for (int i = 0; i <= 10; i++) //0 dan başla 10 a kadar saydır
{
Console.WriteLine(i + ".kadar saydırıldı."); //bilgilendirme
Thread.Sleep(1000); //1 saniye bekle (1000ms = 1s)
}
Console.ReadKey();//Bir tuşa basana kadar Console'u kapatma
}

for (int i = 0; i <= 10; i++) //0 dan başla 10 a kadar saydır
Bu kısım zaten for döngüsü, Thread ile bir alakası yok.
Console.WriteLine(i + ".kadar saydırıldı."); //bilgilendirme
Thread.Sleep(1000); //1 saniye bekle (1000ms = 1s)
İlk satırda ki bilgilendirme yazısı 1 kere yazılacak daha sonra Thread.Sleep(1000); ile 1 saniye beklenecek. 1 saniye geçtikten sonra yeniden for döngüsü görevini yapacak buradaki amaç işlemi 1 saniye uyutup 1 saniye geçtikten sonra yeniden uyandırıp işlemi yaptırtmaktır.

Peki işlemler neden uyutulur ?
Bilgisayarımızda yaptığımız işlemler aslında eş zamanlı değildir. Yani siz Word de bir yazı yazarken, müzik dinliyorsanız işlemci bunu aynı anda değil milisaniye farkıyla yapar. Milisaniye saniyenin binde biridir siz Word’de “a” tuşuna bastığınızda müzik player 1 milisaniye (belki daha fazla) uyutulur klavyeden girmiş olduğunuz değer işlenir ve tekrar müzik player çalmaya devam eder, bu işlemler çok hızlı olduğundan bize aynı anda yapıyormuşuz gibi gelir.
Aslında bu sadece bizim açtığımız uygulamalarla sınırlı değildir, “Process Hacker” adlı program ile bu işlem daha somut olarak gözükür.


Process(işlemler), Thread(iş parçacığı) sayesinde çalışırlar her uygulamanın bir PID si vardır bu bir web sitesinin örneğin “kodumundunyasi.net” olarak gözüküyor ama aslında “85.547….” IP sinin yerine kullanılıyor. İşletim sistemindeki her çalışan uygulama veya sistem dosyaları farklı zamanda çalışırlar. Resimde gözükmüyor ama uygulamayı eğer indirip denerseniz görmüş olduğunuz uygulamalar sürekli yer değiştirirler. Bir işlem uyutulur diğer işlem uyandırılır sonra yine aynı döngü sürekli devam eder.

İyi Çalışmalar
Google Plus'da Paylaş

Yazar Unknown

Yazar hakkında bilgi yazılacak.
    Blogger Yorumları
    Facebook Yorumları

0 yorum :

Yorum Gönder

Ziyaretçi Sayısı

15.08.2015 den itibaren Toplam 1.982.258 Kişi Tarafından Ziyaret Edildi