ÜYE GİRİŞİ  
Kullanıcı adı :
Parola :
 
  Üye Ol!  
 
 
ANASAYFA HABERLER ASP ASP.NET PHP C/C++ C# JAVA ARAMA İLETİŞİM

ASP.NET
  Expression Web ile Site Yapimi
  Web Server Control Yazmak - 2
  Web Server Control Yazmak - 1
  Sql Cache Dependency
  Web Kontrollerini Etkin Kullanmak
  Xslt Kullanımı
  Bir Web Sayfasının Anatomisi
  Client Script Callback
  Login Kontrollerinin Kullanımı

ASP
  ASP Nesneleri
  29 Soruda ASP
  Matematiksel Uygulamalar
  Select Case Yapısı 2
  Fonksiyon(Function) Kullanımı
  IF-ELSE...
  GET Yöntemi ile İşlemler
  Asp de Tarih ve Saat fonksiyonları
  While-wend döngüsü

C Sharp (C#)
  C#'da klasör işlemleri
  C# ile diziyi tersine çevirme
  Çok Kullanılan Kontroller-1
  C# ile Kronometre Uygulaması
  Overloaded Metotların Gücü
  C# ile XMLQuery Örneği
  Rastgele Kod Üretimi
  Kontroller ile Çalışma
  Düzenli İfadeler Nedir?

DUYURULAR

F# Microsoft dil teknolojisinin en yeni üyesi.Common Lisp-Slime-Emacs tarzında etkileşimli,kıvrak,sonuçların anında görülebildiği ve yüksek performanslı bir betik dil olarak özetleyebiliriz bu yeni dili. devamı >>


Türk Telekom'dan yapılan yazılı açıklamada, Telekomünikasyon Kurumu'nun onayladığı yeni tariflerin, internet servis sağlayıcı şirketlerin maliyetlerini önemli oranlarda düşüreceği aktarıldı. devamı >>


JAVA İçinde Thread Kullanımı | Asundinay.Com
JAVA İçin Eklenmiş Makale
 Makale Adı  :  JAVA İçinde Thread Kullanımı
 Yayın Tarihi :  22.08.2007 23:23:47 Ekleyen :  Kazım Aydın Okunma : 1211

Thread yani iş parçacığı Windows uygulamalarının yaygınlaşmasıyla vazgeçilmez hale geldi. üstelik eski tarz programlama da (VB60, TC, TPascal) kullanılamayan ve zamanla C++, VC++ gibi nesne yönelimli dillerin gelişmesiyle, kendini Windows uygulamalarında daha etkin biçimde sergileyen Thread ler C++ ile birlikte java içinde de popüler olmayı başardı. Popüler olmaktan da öte zamanla gereksinim halini aldı.

Yazdığınız herhangi bir java programının başlangıç yordamı public sınıfın main metodudur. Bu metod işlerken standart program için bir Thread oluşur ve program sonlandığında Thread’ da sonlanır. Ancak bununla birlikte bir sınıf içindeki diğer yordamlarında hem programın bir parçasıymışçasına hem de programdan bağımsız işlemci gücü kullanarak çalışması Thread sayesinde yapılabilir. Bu iş parçacıkları ana iş parçacığı içinden yönetilebilir.

Thread ler tam olarak iki şekilde yapılır. Bunlardan birisi karmaşık olan Runnable arayüzünü kullanmak diğeri ise Thread sınıfından kalıtım almak. Thread sınıfından kalıtım yapacak olursak karşımıza çıkacak olan dezavantaj şu dur; Java dili tek bir kalıtıma (Single inheritance) izin verdiğinden tasarımda sorunlar çıkabilir. Ancak Runanable arayüzü ile de sınıflar Thread haline dönüştürüldüğünde çok fazla kod yazmamız gerekebilir. Şimdilik biz Thread sınıfından kalıtım alarak iş parçası oluşturmayı deneyeceğiz.

class Islem extends Thread
{
   private String isim=””;
   private int donguSay=0;
   public Islem(String isim, int donguSay)
   {
        this.donguSay=donguSay;
       this.isim=isim;
   }
   public void run()
   {
       for (int i=0; i<donguSay; i++)
      {
         System.out.println(i +”.” + this.isim + “ yazdirildi”);
      }
   }
}

Yukarıdaki sınıfı inceleyecek olursak ilsem sınıfı Thread sınıfından türetilerek yapıcısında 2 tane parametre alması sağlanıyor. Daha sonra alınan parametreler, sınıfın local değişkenlerine atılıyor. Thread sınıfından türetilen bir sınıfın Thread olabilmesi için run() metodunu içermesi gerekir. Daha doğrusu Thread sınıfından türetilen sınıfın içine yazılan run() metodu Thread içinde yapılacak olan işlemleri içerir. Bizim sınıfımızda ki run metodu yapıcı ile gönderdiğimiz parametreler doğrultusunda ekrana bilgi vermektedir. Şimdi oluşturduğumuz bu Thread i uygulama içinden nasıl kullanacağımıza bakalım.

public class Uygulama
{
   public static void main(String args[])
   {
    Islem i1 = new Islem("Ertugrul", 2); //Ertugrul ismi ile 2 kez
    Islem r2 = new Islem("Mehmet Metin", 3); // Mehmet Metin ismi ile 3 kez
    Islem r3 = new Islem("Sun McrSys", 3); // Sun McrSys ile 3 kez

    i1.start();
    i2.start();
    i3.start();
   }
}

Yukarıdaki sınıfı incelediğimizde yapıcısı ile parametre gönderilmiş 3 adet sınıf oluşturuluyor ve start komutu ile çalıştırılıyor. Biz start komutunu Islem sınıfının yapıcısına belirterek otomatik başlamasını sağlayabilirdik ama bu Thread in yönetimini elimizden kaçırmamıza neden olabilirdi :) Şimdi Thread yönetimi için gerekli bazı standart metodları tanımlayalım…

Metod İşlevi
start() Bu metod Thread için çalıştırıldığında, Thread işlemeye başlar.
stop() Thread' i öldürür. Bu metod sonrasında Thread tekrar start ile çalışır hale getirilmelidir.
wait() Thread' i beklemeye alır. Metod uyarılana kadar yada belirtilen süre bitene kadar beklemede kalır.
notify() Bekleme durumundaki Thread' i uyandırır. Metod sonrasında Thread, haz durumuna geçer.
sleep() wait() gibidir. Thread' i uyku moduna alır. Ancak interrupt() metodu ile uyandırılabilir.
interrupt() sleep() yada wait() ile uyutulmuş bir Thread' i uyandırır.
yield() çalıştırılıyorken anlık bir bekleme üreterek kendisi ile aynı işlem önceliğine sahip başka bir Thread' in çalışmasına imkan sağlar.
join() Genelde başka bir Thread içinde kullanılır. Belirtilen Thread' in belirtilen süre yada ölene kadar beklemesini sağlar.

Thread önceliklerini belirlemek;

Windows işletim sisteminde görev yöneticisinde işlemlere öncelik atamayı mutlaka yapmışsınızdır. Bu işlemlere öncelik atamanın arka planında neler olduğuna bir bakacak olursak eğer;

Thread.MIN_PRIORITY =1
Thread.NORM_PRIORITY =5
Thread.MAX_PRIORITY=10

Görüldüğü gibi Thread enum değerleri olmasına karşın öncelik atamasında standart 1-10 arasında tam sayı değerler kullanabilirsiniz. Yani;

i1.setPriority(Thread.MIN_PRIORITY); // i1.setPriority(1);
i2.setPriority(Thread.NORM_PRIORITY); // i2.setPriority(5);
i3.setPriority(Thread.MAX_PRIORITY); // i3.setPriority(10);

Yukarıdaki kullanımlar aynı kullanımlardır. Bunun dışında arada bir değer atamak istediğinizde tek yapmanız gereken i3.setPriority(7); şeklinde komutunuzu girmenizdir :)


 

 

 


Kaynak : csharpnedir.com


 

Java İçin Eklenmiş Tüm Makaleler
Java İçin En Son Eklenen 5 Makale
 Makale Adı  :  Java ile Histogram Eşitleme
 Yayın Tarihi :  22.08.2007 23:24:42 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  JAVA İçinde Thread Kullanımı
 Yayın Tarihi :  22.08.2007 23:23:47 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  Serialization İşlemleri 2
 Yayın Tarihi :  22.08.2007 23:23:08 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  Serialization İşlemleri
 Yayın Tarihi :  22.08.2007 23:20:48 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  İlk Bakışta JSP
 Yayın Tarihi :  22.08.2007 23:19:53 Ekleyen :  Kazım Aydın Makaleyi Oku  

C/C++
  C ögreniyorum -8-
  C ögreniyorum -7-
  C ögreniyorum -6-
  C ögreniyorum -5-
  C ögreniyorum -4-
  C ögreniyorum -3-
  C ögreniyorum -2-
  C ögreniyorum -1-
  İlk C++ Programımız

JAVA
  Java ile Histogram Eşitleme
  JAVA İçinde Thread Kullanımı
  Serialization İşlemleri 2
  Serialization İşlemleri
  İlk Bakışta JSP
  Servletler ile Web Sayfaları
  Java ile Grafik Çizim
  Java, MySql Bağlantısı
  JBuilder ile Database

PHP
  php dersleri -1-
  php/access ile silme işlemi
  php ile access'e bağlanma - 2
  php ile access'e bağlanma - 1
  Döngü ve Diziler - BÖLÜM 5
  Döngü ve Diziler - BÖLÜM 4
  Döngü ve Diziler - BÖLÜM 3
  Döngü ve Diziler - BÖLÜM 2
  Döngü ve Diziler - BÖLÜM 1

İSTATİSTİKLER
  Toplam ziyaret :  24742
  Toplam üye sayısı :  1081
  Asp makale sayısı :  20
  Asp.Net makale sayısı :  54
  Php makale sayısı :  26
  C/C++ makale sayısı :  51
  C# makale sayısı :  29
  Java makale sayısı :  33
  Toplam makale saıysı :  213
Copyright asundinay® 2007 Her Hakki Saklidir
Tasarim & Programlama asundinay®