Selamun aleykum
Socket baglanmak istediginde WSAAccept tetikleniyor ve bu fonksyonun icerisinden bir Callback cagiriliyor.
cagirilan bu callback sayesinde baglanmak isteyen client'i kabul yada red edebiliyorum.
client'in kabul yada red olayin veritabanindan kontrol etmem gerekiyor.
callback fonksyonu criticalsection ile kilitli oldugu icin birinci thread fonksyondan cikmadan ikinci thread girip sorgulama yapamiyor.
5 thread calistiginda 4'ü fonksyon kapisinda bekledigi icin bu islem beni pek sarmadi.
baglanti kabul hizini artirabilmek icin öyle bir yapi hazirlamam gerekiyor ki,
1) tüm threadler es zamanli olarak kendi sorgusunu yapabimeli
2) sorgudan cevap dönünceye dek thread callback icerisinde beklemeli.
Callback'den Criticalsection'i kaldirip yerine sorgu dönüsümünü beklemesi icin TEvent koydum. bekleme süresi Infinite. fakat sorgulama yine es zamanli gerceklesmiyor. event Set edilmedigi sürece ikinci sorgu gerceklesmiyor.
Criticalsection olmamasina ragmen event tarafindan callback bloke ediliyor.
cözüm yada fikir üretebilecek birileri var mi?
WSAAccept Callback ve DB veri sorgulama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
WSAAccept Callback ve DB veri sorgulama
kıdemsiz üye
Re: WSAAccept Callback ve DB veri sorgulama
Aynı kod bloğuna birden fazla thread'in girmesini arzu ediyorsanız ve bunun için belli bir limitiniz var ise semaphore kullanabilirsiniz. Ancak söylemem lazım ki; her bir thread için veritabanına bağlanacağı connection'ı oluşturmalısınız. Yani veritabanı connection'ı her bir thread'e özgü olmalıdır.
Re: WSAAccept Callback ve DB veri sorgulama
Tesekkur ederim. Eline saglik.
Veritabani baglantisini class'in bir sonraki seviyesinde halledecegim.
Benim yapmak istedigim sey, threadlarin es zamanli olarak ayni prosedur yada fonksyona girmesi ve donecek olan resultu es zamanli olarak beklemesi. Umarim semaphor isimi gorur. Arastirayim.
Veritabani baglantisini class'in bir sonraki seviyesinde halledecegim.
Benim yapmak istedigim sey, threadlarin es zamanli olarak ayni prosedur yada fonksyona girmesi ve donecek olan resultu es zamanli olarak beklemesi. Umarim semaphor isimi gorur. Arastirayim.
kıdemsiz üye
Re: WSAAccept Callback ve DB veri sorgulama
Semaphore'ları inceleyecek iseniz; bu husus hakkında yazmış olduğum makale belki işinizi biraz kolaylaştırabilir.
http://www.tugrulhelvaci.com/?p=443
Thread ile ilgili diğer makalelere de göz atmak isterseniz eğer; http://www.tugrulhelvaci.com/?tag=thread adresindeki makaleler de faydalı olabilir.
http://www.tugrulhelvaci.com/?p=443
Thread ile ilgili diğer makalelere de göz atmak isterseniz eğer; http://www.tugrulhelvaci.com/?tag=thread adresindeki makaleler de faydalı olabilir.