C# ile programı dondurmadan bekletme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üye
Katılım
31 Ocak 2019
Mesajlar
16
Tepki puanı
6
Yaş
29
7 HİZMET YILI
Merhabalar. Bildiğiniz üzere Thread.Sleep(ms) programımızı donduruyor beklemeye alıyor. Bunun önüne geçmek mümkün fakat daha farklı bir yol ile programımızı bekleteceğiz..

Kodlamaya başlayalım.

C#:
public void v_BeklemeYap(int i_Saniye) // Fonksiyon oluşturduk public dedik başka classlarada açık olsun

{//skop

if(i_Saniye < 1) return; // saniye 1 den küçük değer girildiyse birşey yapmasın

DateTime dt_Time = DateTime.Now.AddSeconds(i_Saniye); //dt_Time adında bir değişken oluşturduk türü DateTime. Ve şimdiki zamanı alıp üzerine girdiğimiz saniye kadar saniye atadık. Misal 23:00:00 ---->>> 23:00:i_Saniye

while(dt_Time > DateTime.Now) // dt_Time yani yeni zamanımız büyükse şimdiki zamandan döndür dedik

Application.DoEvents(); // Bunu nasıl açıklayacağım bilmiyorum. Ama kısaca şöyle bir açıklama yapabilirim. Arka planda işlenmeyi bekleyen mesajları işleme alır. Biraz ileri seviye bir fonksiyondur.

}//skop

Teşekkürler iyi akşamlar.

EDIT : CODE bloğuna almayı unutmuşum
 
Kendine Yaslanan Dik Yürür
Uzman Üye
Katılım
31 Ocak 2016
Mesajlar
246
Çözümler
1
Tepki puanı
101
Ödüller
9
Yaş
26
10 HİZMET YILI
:gelisirabii::rem:
 
Acemi Mühendis
Seçkin Üye
Katılım
12 Nis 2018
Mesajlar
350
Çözümler
2
Tepki puanı
65
Ödüller
7
Yaş
30
8 HİZMET YILI
Merhaba,

Bunu backgroundworker ile basit bir şekilde yapabilirsiniz. Yapacağınız işlem ağır ise ve programda kasmalara sebep oluyorsa, sizin için çözüm olacaktır. Dilerseniz bunun için güzel bir konu açabilirim.
 
Üye
Katılım
31 Ocak 2019
Mesajlar
16
Tepki puanı
6
Yaş
29
7 HİZMET YILI
Merhaba,

Bunu backgroundworker ile basit bir şekilde yapabilirsiniz. Yapacağınız işlem ağır ise ve programda kasmalara sebep oluyorsa, sizin için çözüm olacaktır. Dilerseniz bunun için güzel bir konu açabilirim.
Yorum yapmak için yorum yapmanızı anlamıyorum. Öyle yapılır böyle yapılır bla bla.. Konuyu okumadan yorum yazmanızıda anlamıyorum. Başlangıç seviyesi için programlama algoritmasını kafada yerleştirmeye yönelik bir kod bu. Sanırım Türk insanının en baş problemi bu.. Birşey bildiğiniz göstermeye çalışmak.. Eminimki bir çok kişiyi şurda tw açalım kod yaz diyelim onlarca kez tıkanır eminim buna. Bu yüzden buraya paylaşım yapmaya çekiniyorum. Başka bir sitede adını vermeye gerek yok eğitim dersleri ekliyordum. Basit falan gibi yorumlar geldi direk eğitimi durdurdum. Ayrıca bilgin olsun backgroundworker yerine thread kullanman performans açısından daha iyi olacaktır.
 
Acemi Mühendis
Seçkin Üye
Katılım
12 Nis 2018
Mesajlar
350
Çözümler
2
Tepki puanı
65
Ödüller
7
Yaş
30
8 HİZMET YILI
Yorum yapmak için yorum yapmanızı anlamıyorum. Öyle yapılır böyle yapılır bla bla.. Konuyu okumadan yorum yazmanızıda anlamıyorum. Başlangıç seviyesi için programlama algoritmasını kafada yerleştirmeye yönelik bir kod bu. Sanırım Türk insanının en baş problemi bu.. Birşey bildiğiniz göstermeye çalışmak.. Eminimki bir çok kişiyi şurda tw açalım kod yaz diyelim onlarca kez tıkanır eminim buna. Bu yüzden buraya paylaşım yapmaya çekiniyorum. Başka bir sitede adını vermeye gerek yok eğitim dersleri ekliyordum. Basit falan gibi yorumlar geldi direk eğitimi durdurdum. Ayrıca bilgin olsun backgroundworker yerine thread kullanman performans açısından daha iyi olacaktır.
Merhaba,

Yorum yapmak için değil bilgimi paylaşmak için buradayım ve bu editör grubundayım. Bildiğimi ve kullanılabilen kolay bir yapıyı söyledim. Gelen eleştirilere ve alternatif yol paylaşımlarına açık değilseniz burada da son verin eğitiminize. Sonra siz eğitim almaya başlayın, insanlarla iletişim konusunda.

Konu içeriğinizde programın donmasına çözüm ürettiğinizi belirttiğiniz için alternatif olarak backgroundworker önerdim. Kimse burada size muhtaç değildir. Paylaşmayın, rahat edin. ;)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst