Jump to content

sleep kullanımı


multimesut

Recommended Posts

Merhaba, hyper server üzerinde çalışan 100 sessiona yakın aktif kullanım olan bir projem var. Bazı procedurelerde 15 saniye bekletmem lazım. Procedure de sleep(15000) kullansam projede bir soruna yol açar mı? Thread larda sleep diğer threadları etkiliyordu. Uniguide de sessionlar etkilenirmi? Etkilenir ise ne kullanmalıyım?  Teşekkürler

Link to comment
Share on other sites

Yazdığından bir şey anlamadım :)

sleep, Application ı pouse eder. unigui değil sadece, http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.SysUtils.Sleep

O yüzdende senin A işlemi dediğin yerde sleep yazdığında sadece b değil tüm uygulama bekliyor, yani etkilenmiş oluyor. Timer da ise thread olduğundan arka planda uygulama çalışmaya devam ediyor, sadece ekrana modal form açarsan, kullanıcı o form kapanana kadar beklemek zoruna, yada tab ı yad browser ı kapatabilir. Yanılmıyorsam "mask" da bu tip işlemler için, form yerine kullanılabilinir.

Link to comment
Share on other sites

:) Anladım. O zaman sleep yerine ne kullanabiliriz. Kullanıcıyı bekletmek önemli değil. Kullanıcı sayfayı kapatsa bile bu işlemlerin devam etmesi gerek. Hani olur ya istemesekte bazen sleep koymamız gerkiyor buda öyle birşey :) Yani çakışma olmaması için işlemler arasında belirli süre bekleme yapmalıyım. Aşağıdaki örnek kod gibi.

 

procedure IslemYap;
begin
DosyaIndir(xx);
sleep(2000);
YosyaYukle(yy);
sleep(2000);
SunucuIsle(xx,yy);
sleep(2000);
end;

 

Link to comment
Share on other sites

Bence bu tasarıma yansıtılmalı, "DosyaIndir(xx);" bu procedure ün içinde son kullanıcıya bir process barla işlem süreci yansıtılabilinir. Kendini son kullanıcı olarak düşün, ekranda hareket yok, donmuş duruyor? ne yaparsın? ama dosya indiriliyor, vs gibi bir yazı ve/veya processbar gibi bir şey çıkarsa, takılıyor yada yavaş ilerliyorsa, telekom a söversin ama beklersin değil mi? :D

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...