Javada TCP/IP orqali bir necha server bilan bir vaqtni o'zida ishlashni optimallashtirish

0 ovoz
46 marta ko‘rilgan
so‘radi 06 sentabr SARVARBEK (169 bal)
tahrirlandi 08 sentabr SARVARBEK
Assalom aleykum. Javada yaqindan boshlab ishlayapman. Quyidagicha muammoga duch keldim. Dastur o'z ishini boshlaganda n ta (1<=n<=100) server bilan (client sifatida) TCP/IP orqali bog'lanadi , sutkasiga 24 soat davomida serverlarga xabar jo'natadi va ma'lumotlarni qabul qilib faylga yozib qo'yadi. Har bir server uchun alohida Thread yaratib, alohida threadlarda server bilan aloqani ta'minlagan edim. Agar n=2 yoki n=3 bo'lsa dastur normal holatda ishlayapdi. Agar n>5 bo'lsa kompyuter qotishni boshlayapdi (dastur emas, aynan kompyuter qotyapdi. Kompyuterda operatsion sistemadan tashqari boshqa alohida dasturlar o'chirilgan). Muammo threadlar soni ko'payib ketganda deb o'ylayapman.

Dastur 24 soat ishlashi natijasida xotirani to'lish xavfi ham bor albatta, lekin bu 2-muammo. Hozirgi savolim qanday qilib threadlar sonini kamaytirishim,boshqacha aytganda dastur ishlashini optimallashtirishim mumkin?

Javob uchun oldindan rahmat
izoh qoldirdi 17 sentabr MrHope (402 bal)
menda ham Thread la bilan muammo bor. Siz concurrancy lar bilan tanishib chiqmadizi.
https://www.tutorialspoint.com/java_concurrency/concurrency_blockingqueue.htm
Executorni  bilan ishlab ko'ring ko'pchili shuni maqtagan
https://stackoverflow.com/questions/3984076/what-are-the-advantages-of-using-an-executorservice

1 ta javob

0 ovoz
javob berdi 5 kun avval SARVARBEK (169 bal)
 
Eng yaxshi javob
Barcha serverlar bilan aloqani yagona thread orqali bog'lash to'g'ri yo'l. Buning uchun bitta alohida thread ochiladi va unda bitta Nio selectorga barcha connectionlar register qilinadi. n (1<=n<=100) bo'lgan holatda bitta selector yagona thread orqali barcha serverlar bilan aloqani ta'minlab beradi. Quyida nio selectorni ishlatish bo'yicha namuna keltirilgan:

https://examples.javacodegeeks.com/core-java/nio/java-nio-socketchannel-example/

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...