PDA

مشاهده نسخه کامل : اجرا و بستن برنامه در سی شارپ طبق زمانبندی



amirpcp30
27-06-17, 14:51
سلام دوستان
یک برنامه می خواستم بنویسم که برنامه ی مورد نظر رو هر 2 ساعت یکبار 5 دقیقه ببنده و دوباره اجرا کنه
این برنامه باید در کمترین حالت سربار پردازشی باشه
خودم به این صورت فک کردم که یک حلقه باشه و داخل حلقه دو تایمر
تایمر اول بعد از 115 دقیقه برنامه رو میبنده و تایمر دوم بعد از 5 دقیقه برنامه رو اجرا می کنه

System.Timers.Timer aTimer = new System.Timers.Timer(); aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 6900000;
aTimer.Enabled = true;
آیا به همین روش مناسب هست یا عدد اینترول با این سایز سربار ایجاد می کنه؟
با چه کدی میتونم برنامه رو اجرا یا close کنم؟
با سپاس
:give_rose:

ravegoat
03-07-17, 07:44
سلام دوستان
یک برنامه می خواستم بنویسم که برنامه ی مورد نظر رو هر 2 ساعت یکبار 5 دقیقه ببنده و دوباره اجرا کنه
این برنامه باید در کمترین حالت سربار پردازشی باشه
خودم به این صورت فک کردم که یک حلقه باشه و داخل حلقه دو تایمر
تایمر اول بعد از 115 دقیقه برنامه رو میبنده و تایمر دوم بعد از 5 دقیقه برنامه رو اجرا می کنه

System.Timers.Timer aTimer = new System.Timers.Timer(); aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 6900000;
aTimer.Enabled = true;
آیا به همین روش مناسب هست یا عدد اینترول با این سایز سربار ایجاد می کنه؟
با چه کدی میتونم برنامه رو اجرا یا close کنم؟
با سپاس
:give_rose:
با سلام،

تایمر دات نت بهینه طراحی شده و در عمل کلیت کار اون رو سیستم عامل مدیریت می کنه. در نتیجه مستقل از هر مقداری که ما برای Interval در نظر بگیریم، تایمر سربار ناچیزی خواهد داشت. برای اطلاعات بیش تر:
Only the registered members can see the link

در مورد ایده ای که مطرح فرمودید به نظر نیازی به وجود حلقه نیست. یک تایمر با دوره ی 115 دقیقه در اولین تیکش متوقف میشه و تایمر دومی رو با دوره ی 5 دقیقه به اجرا در میاره. در کنار این عمل برنامه مورد نظر رو هم متوقف می کنه. در تایمر دوم با اولین تیک، تایمر خودش رو متوقف می کنه و برنامه رو به اجرا در میاره. در نهایت هم تایمر اول رو فعال می کنه.

برای باز و بسته کردن برنامه هم لینک زیر رو ملاحظه بفرمایید:
Only the registered members can see the link



لطفا در عنوان تاپیک از درج سمبل شارپ (#) خودداری کنید. چنین تاپیک هایی در ادامه باز نخواهند شد! به هم دلیل بود که موضوع شما برای مدتی مهجور مانده بود. متشکرم.
عنوان تاپیک ویرایش شد.


شاد باشید
آرمینOnly the registered members can see the link