folder Tahribat.com Forumları
linefolder Java
linefolder Mantıksal Bir Yardım ( YAZILIM)



Mantıksal Bir Yardım ( YAZILIM)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    for(int a=0;i<100(Sınırı yok artık ne yazarsam ) ;i++)

    {

    myFunction();

    }

     

    public void MyFunction()

    {

    Thread thread=new Thread(new Runnable

    {

    public void run()

    {

    /işlem

    }

    });

     

     

    Bu kodu çalıştırınca 100 Adet Thread çalışacak arkada . Yaptığım işlemler Daha hızlı çalışacak fakat 100 Thread de Makinayı yoracak yada Program hata verir mi ? Yani bu şekilde yazdığım program sizde mantıklımıdır ? 

    Yani ben yapılan işlemleri Thread olarak parçalayarak parça parça işlem yapmak istiyorum bu parçalarda bir hayli fazla olabilir yani 100 de olabilir 10 da olabilir. Bu kod mu daha iyi bir koddur yoksa alttaki mi ? 

    Nedenlerini de öğrenebilir miyim :(

     

     

    myFunction();

     

    public void MyFunction()

    {

    Thread thread=new Thread(new Runnable

    {

    public void run()

    {

    for(int i=0;i<100;i+)

    {

    /işlem

    }

    });

     

    Konu yanlış yere Açılmış ise Lütfen uygun bölüme taşır mısınız Mod abilerim


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dyrnade
    dyrnade's avatar
    Kayıt Tarihi: 27/Temmuz/2009
    Erkek

    Once execution time'a bakarak performans denemesi yapabilirsiniz.O makine icin en uygun thread sayisini bulun once.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Elif - Efe
    rakkoc
    rakkoc's avatar
    Kayıt Tarihi: 19/Aralık/2003
    Homo

    duz thread değilde thread pool gibi bir şeyle yapman daha doğru olacaktır. Java ile pek aram yok c# olsa yardimci olurdum.


    Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    @dyrnade Aslında Onu bilsem arkada çalışan Thread sayısına göre işlem yaptırabilirim Mesela Makina 10 Threadi kaldırıyorsa 7 Thread arkada çalışırken 1 adet bittiği anda bir diğeri başlasın gibisinden bi işlem yaptırabilirim fakat Makinanın kaç thread çalıştıracağını nasıl bulabilirim ? 

     

    @rakkoc Abi o Thread pool ve normal Thread arasındaki farkı çok araştırmıştım fakat istediğim bu değil sanırım Çünkü bazı durumlarda Pool gerkli iken bazı durumlarda Normal Thread de iş görüyor  . Yada ben sizin dediğinizi anlamadım :/


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek
    Eğer CPU gerektiren bir iş ise genelde çekirdek sayısı * 2 optimum değer oluyor. Threadlerin içinde ne yapmak istediğin önemli ama genelde pool kullanmak daha faydalıdır çünkü thread açıp kapamak pahalı bi işlem, genelde açarsın 16 tane falan pool'a gönderirsin yaptırmak istediğin işleri devamlı o da o an hangi thread boş ise ona göre karar verip o thread altında çalıştırır.

    IO işi çok yapıyorsan daha fazla thread'e ihtiyacın olabilir belki, ExecutorService aracılığı ile oluşturduğun pool'a maximum thread sayısı verip (100 gibi) gerektiğinde genişleyecek veya daralacak pool da oluşturabilirsin sana kalmış. Executors classının altındaki static metodlara bakabilirsin javadoc'larını okuyarak karar verirsin hangisini kullanacağına.

    . . .. . ... .
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    @Buremba Threadlerin içerisinde Minimum 40000^30000 işlem var yani For döngüsü içerisinde işlem 

    Sanırım Pool kullanmak mantıklı çünkü Threadeler çok uzun Pc çöker Pool kullanmak ve Thread sayısını azaltmak yani zaman uzun işlem yavaş olsun Aksini kaldıracağını düşünmüyorum Yada Sunucuya Sağlam bi para gömülecez


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek

    Amaç ?


    Hello, i am nothing. I come from Neverland.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek
    MhmdAlmz bunu yazdı

    @Buremba Threadlerin içerisinde Minimum 40000^30000 işlem var yani For döngüsü içerisinde işlem 

    Sanırım Pool kullanmak mantıklı çünkü Threadeler çok uzun Pc çöker Pool kullanmak ve Thread sayısını azaltmak yani zaman uzun işlem yavaş olsun Aksini kaldıracağını düşünmüyorum Yada Sunucuya Sağlam bi para gömülecez


    thread'lerde çalıştıracağın task'lardan bir sonuç bekliyor musun? (pi sayısının şu kadar hanesini hesapla döndür gibi mi yoksa atıyorum şu dosyaları oluştur şunları taşı gibi mi) ve çalıştıracağın bir task uzun sürüyor mu? thread'leri oluşturmak genel olarak pahalı bir işlem ve zaten işletim sisteminin file descriptor limiti runtime'daki thread sayısını da sınırlıyor. aynı anda 100'lerce thread'e hiçbir zaman ihtiyacın olmaz.

    . . .. . ... .
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    @buremba yaklaşık bi 2-3 bin defa Post atıyor Thread 

    @ozgunlu birsürü User var . Bunların içerisinde aranan useri bulup post etmek. amacım


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek
    MhmdAlmz bunu yazdı

    @buremba yaklaşık bi 2-3 bin defa Post atıyor Thread 

    @ozgunlu birsürü User var . Bunların içerisinde aranan useri bulup post etmek. amacım


    eğer http post request'inden bahsediyorsan onu thread içinde sync olarak yapmaktansa async http kütüphanelerinden birini kullanabilirsin onlar hem daha kolay olur hem de daha hızlı çalışır. sonra tek thread'den callback'lerle işini çözersin.

    . . .. . ... .
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    The Art of Multiprocessor Programming

     

    Concurrency Foundations and Algorithms diye bir ders aldim hocam java da.. ustteki kitabi referans olarak kullandik. Bunu okumani tavsiye ederim. Programlamaya bakis acini degistirecek turde bir kitap. Bir cok kisi multi threading i birden fazla thread yarat olsun bitsin mantigi ile goruyor ama hesaba katman onlarca sey oluyor en basitinden mutual ex. nedir racial condition nedir, volatile neden kullanilir$ lockerlar nelerdir ne zaman kullanilir v.s.  Bunlarin hepsini bu kitap ile iyi sekilde ogrenebilirsin.

    pdf i mevcut internette bulamazsan ben yollarim

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
Toplam Hit: 4212 Toplam Mesaj: 20
mantık algoritma thread