folder Tahribat.com Forumları
linefolder Java
linefolder Java Multithreading Database İşlemleri



Java Multithreading Database İşlemleri

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek

    Merhaba,

    Javada tablodan verileri okuyup bir apiye göndermem gerekiyor. Tabloda 3 milyon kayıt var. Öncesinde dataları alıp işlemem gerekiyor. Nasıl ilerlemem gerektiği konusunda bir fikir arıyorum. Datayı listeye atıp ilerleyebilirim(memory sorunu oluşmaz ise)

    ya da multithreading ile okumam gerekiyor ki bu yöntem daha sağlıklı olacak gibi. Multithreadde datayı nasıl okuyabilirim? Eğer bir satır okundu ise o satır atlanmalı. Bunu nasıl yapabilirim? (umarım anlatabildim :))

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    https://stackoverflow.com/questions/23651074/how-to-retrieve-mysql-data-using-java-multi-threading

     


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek

    cevapta verdiği url açılmıyor :( sql worker mı çözüm diyorsun hocam?

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

    Hocam Bir kuyruk oluştur datayı bu kuyruğa ekle. Her Thread o Kuyruktan bir data çeksin. Data kalmayınca Thread Durumlarını bir bir kontrol edersin. Veya Apiye gönderiyorsan bitmesinin bir önemi yoktur senin için.

    Yapacağın işlemi kısaca anlatırsan belki güzel algoritma üretebiliriz multiThread'e bile ihtiyacın kalmaz. Yada MultiThread algoritmanın karmaşıklığını arttırır bunu bilemeyiz.


    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
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek

    Tabloda 3 milyon kayıt var. Bunları tek seferde okumam isteniyor. Okuduktan sonra apiye göndericem fakat öncesinde datalar üzerinde işlemler yapıp bir yerde saklamam gerekiyor. ArrayList diye düşündüm. Fakat kayıt sayısı arttıkça memory hatası gelecektir. Datayı apiye gönderirken de 20000 kayıt aynı anda gönderiyorum. Kayıt gönderdikçe listeyi sıfırlayıp bu sorunu aşabilirim çalışır da uygulama. Ama yöntem olarak çok iyi gelmedi bana.

    Daha önce bir .net projesinde görmüştüm. Her thread tablodan bir kayıt çekiyordu fakat aynı kayıtları almamayı nasıl sağlıyorlardı onu hatırlayamadım. İstediğim aslında birinci threat birinci satırı okuduysa o satır tekrar okunmasın. Böyle bir yöntem olabilir mi bunu bilemedim.

    Senin söylediğin kuyruk kullanmakta mantıklı aslında

    edit: Thread pool kullanıcam sanırım. @MhmdAlmz  dediğin gibi kuyruktan çekse threadler böylece iş kolaca biter.

    Peki task classlarına bu kuyruğu constructorda göndermeli miyim yoksa bir örnek var mı paylaşabileceğiniz?

    kajmerpac tarafından 28/Eyl/18 10:54 tarihinde düzenlenmiştir
Toplam Hit: 2021 Toplam Mesaj: 5
java multthreading jdbc