Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Windows Services, Multithreading, SQL Server Connection


reyou

Öne çıkan mesajlar

selamlar,
cok kisa anlayiyim;

simdi benim icinde kullanicilar olan sql tablosu var, surekli guncelleniyor,

servisin isi su sekilde her 60 saniyede bir bu tabloyu kontrol etmesi gerek ve diyelim gerekli kosula 100 tane kullanici uyuyor bunlari alip statuslerini 0 dan 1 e getirip hepsine mail yollayacak.

simdi serviceyi direk bodoslama yazmak istemiyorum cunku
database a baglanmak 100 kullaniciyi cekmek update vs mail islemleri 3-5 saniye kadar aliyor bu surede direk serveri kitlemek istemiyorum, yani multithreading olacak yalniz kafama takilan sole bi durum var mesela ben 5 thread ayni anda calissin diyorum, gidipte bu threadler ayri ayri connection acip basima bela olmasinlar :)

sole bi ornek buldum;

http://en.csharp-online.net/Creating_a_.NET_Windows_Service%E2%80%94Alternative_2:_Use_Multiple_Threads

buradaki;

Thread.Sleep(new TimeSpan(0,0,15));


olayini anlamadim yani eger uygulama Multithreading destekliyorsa neden Sleep kullaniyimki Operatins system zaten bunu kendisi koymasi gerekmez mi?

bide bu buldugum ornek acaba isime yarar mi?
Link to comment
Sosyal ağlarda paylaş

Şimdi yanlış algılama söz konusu, üşendim açıkçası code a bakmaya ama Thread üzerinde sleep demek ile cpu timing i arasında kavram farklılıkları var.

İşletim sistemi process ve sub process leri (thread vb. adamlar) öncelik sırasına cpu lara dağıtıp her bir cpu da ne kadar çalışabileceklerini assign eder, Thread e sleep dediğin vakit en son hangi cpu da kaldıysa thread in run edilmesi o cpu üzerinde frozen şekilde sleep timer i expire edene kadar bekler.

Çok elzemse açıp bakayım code a verdiğin link deki.
Link to comment
Sosyal ağlarda paylaş

yaw linkteki kod 2 satir bisi zaten,
valla acip bakarsan cok iyi olur,

2 seneden beri su multithreading olayini kavrayamadim surekli web sitesi yapmaya calistigimda hicte isim olmadi acikcasi yalniz su anda bi servis yazacagimdan serveri sacma sapan kullanmak istemedim.

sunu soriyim o zaman genelde C# kitaplarinda adamlar multithreading i anlatirken Thread.Sleep(2000) gibi seyler kullaniyolar diyolarki bu arada bunu sadece uzun suren bir islemi simule etmek icin kullandik sizin kullanmaniza gerek yok gercek projelerde, sonra internetten orneklere bakiyorum adamlar kullaniyo ama tam olarak aciklamiyo neden kullandiklarini,

bide benim fonksyon database e baglaniyo veri cekiyo mesela 100 kisi bunlari update ediyo fln email kullaniyo, ben bunu her 15 dakikada bir yapmak istiyorum mesela ana fonksyonumda

function myfunction(){

//islemleri yap

Thread.Sleep(15000)

}

gibi bisi koymak istemem acikcasi yani operating system zaten 50 tane thredi varsa ve benim toplamda 5 threadim varsa benimkilerine araya kaynakmasi gerekmez mi? :)
Link to comment
Sosyal ağlarda paylaş

Thread.sleep() le sleep edicen sonra recursive kendini çağırıcaksın? Aman ha adamı döverler, bad coding.

Senin yapacağın iş eline runnable bir adam alıp bunu task scheduler a vermek, o dönsün dursun 15 saniyemi dakikamı saat mı nasıl istersen invoke etsin job unu. Hangi framework de var bilmiyorum C# da ama kesin mevcuttur, C# dediğin java nın nerdeyse aynısı sonuçta.
Link to comment
Sosyal ağlarda paylaş

Çok basit bi bakış açısıyla, yaptığı işleme periyodiklik kazandırmak amacıyla Thread.Sleep kullanmış diyeyim ben.

Ama şunu da belirtmeden edemiycem, multi threading konusunda Java her zaman çok daha rahat gelmiştir bana C#'tan. Keşke C#'ta da Gladmir'in dediği gibi runnable adında bi interface olsa, arada bi invoke edebilsek falan ama, malesef yok öyle.
Link to comment
Sosyal ağlarda paylaş

iyi olur yaw iki dakkanizi ayirin, hem konuyu ogrenmis olurum hemde isimi halletmis.

periyodiklik kazandirmak acisindan timer mi kullansam dedim oda sanirim cok amator olucak. while icerisinde sleep koymak da cok yavan, su javadaki interface nasi implement ediliyo 1-2 ornek fln gosterebilirmisiniz?
Link to comment
Sosyal ağlarda paylaş

ne biliim yani olaya birazcik professional yaklasmak istiyorum,
yani okul projesi olsa sallamam ama isteyerek ogrenerek yapmak istedigim birsey oldugu icin tam layikiyla olsun istiyorum,

zaten kitap fln arastirmaya basladim multithreading ile ama su yapacagim islemlerde kitap bitirmeyi gerektirmiyo sanirim :)
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...