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ı.

https://stackoverflow.com/questions/23651074/how-to-retrieve-mysql-data-using-java-multi-threading cevapta verdiği url açılmıyor :( sql worker mı çzüm diyorsun hocam?

Merhaba, Javada tablodan verileri okuyup bir apiye gndermem 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 ya da multithreading ile okumam gerekiyor ki bu yntem 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?

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 gnderiyorsan 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 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 yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? yle ise, sakın yetime kahretme ! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!

Tabloda 3 milyon kayıt var. Bunları tek seferde okumam isteniyor. Okuduktan sonra apiye gndericem 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 gnderirken de 20000 kayıt aynı anda gnderiyorum. Kayıt gnderdikçe listeyi sıfırlayıp bu sorunu aşabilirim çalışır da uygulama. Ama yntem olarak çok iyi gelmedi bana. Daha nce bir. net projesinde grmüş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. Byle bir yntem olabilir mi bunu bilemedim. Senin sylediğin kuyruk kullanmakta mantıklı aslında edit: Thread pool kullanıcam sanırım. @MhmdAlmz dediğin gibi kuyruktan çekse threadler bylece iş kolaca biter. Peki task classlarına bu kuyruğu constructorda gndermeli miyim yoksa bir rnek var mı paylaşabileceğiniz? kajmerpac tarafından 28/Eyl/18 10:54 tarihinde düzenlenmiştir