a

ABLY مقالات و مطالب مجموعه

متوقف کردن اجرای دستورات برای مدت زمان 5 ثانیه

متوقف کردن اجرای دستورات برای مدت زمان 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 بود، این دو دستور کاربرد های زیادی را برای شما خواهند داشت، فقط آن ها را در ذهن داشته باشید

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :Phone Number
0713 625 1757 :Phone Number