دو شنبه 9 تیر 1393 - 18:08
متوقف کردن اجرای دستورات برای مدت زمان 5 ثانیه
بسم الله الرحمن الرحیم
در خصوص متوقف کردن و Sleep کردن برنامه چندین راه متفاوت وجود دا
بسم الله الرحمن الرحیم
در خصوص متوقف کردن و Sleep کردن برنامه چندین راه متفاوت وجود دارد.
با یک مثال صورت سوال را مشخص و سپس به سراغ پاسخ آن می رویم.
برنامه ای داریم که می خواهیم برای مدت زمان 5 ثانیه متوقف شود و مجددا به کار خود ادامه دهد؟
یکی از ابتدایی ترین راه ها ایجاد یک حلقه for طولانی است که به وسیله آن مدت زمانی را صرف اجرای این دستور کنید!
DateTime start = DateTime.Now;
for (int i = 1; i < 100000; i++)
{
if ((DateTime.Now - start).TotalSeconds >= 5)
break;
Console.WriteLine("This is test no. "+ i+ "\n");
}
راه دوم، بررسی زمان جاری سیستم و ذخیره آن و در نهایت ایجاد یک حلقه تا زمانی است که مدت 5 ثانیه از زمان شروع کار گذشته باشد
DateTime Tthen = DateTime.Now;
do
{
Application.DoEvents();
} while (Tthen.AddSeconds(5) > DateTime.Now);
راه سوم، بهترین راه
System.Threading.Thread.Sleep(5000);
راه چهارم
Stopwatch watch = new Stopwatch();
watch.Start();
for (int i = 1; i < 100000; i++)
{
if (watch.Elapsed.TotalMilliseconds >= 5000)
break;
Console.WriteLine("This is test no. " + i + "\n");
}
watch.Stop();
راه ...
Stopwatch stopwatch = new Stopwatch();
TimeSpan timeGone;
// Use TimeSpan constructor to specify:
// ... Days, hours, minutes, seconds, milliseconds.
// ... The TimeSpan returned has those values.
TimeSpan RequiredTimeLine = new TimeSpan(0, 0, 0, 5, 0);//set to 5 sec
While ( timeGone.Seconds < RequiredTimeLine.Seconds )
{
stopwatch.Start();
Start();
timeGone = stopwatch.Elapsed;
}
Stop();
هدف آشنایی با دستور stopwatch , Thread بود، این دو دستور کاربرد های زیادی را برای شما خواهند داشت، فقط آن ها را در ذهن داشته باشید