PDA

View Full Version : مدت زمان اجرای یک فرآیند در سی شارپ



misagh.sys
شنبه 07 دی 1398, 12:35 عصر
با سلام خدمت مهندسین عزیز
همگی خسته نباشین

چطور میتونم مدت زمان اجرای یک فرآند را محاسبه کنم و به همان میزان در progresbar نشان بدهم و زمانی که به صد در صد رسید عملیات را به پایان برسونم
مثلا
میخوام از اطلاعات دیتابیس پشتیبان بگیرم بر اساس میزان حجم دیتا بیس و سرعت سیستم یه مدت زمانی به باخره طول میکشه میخوام داخل پروگس با و تایمر این کار را انجام بدم

ممنون میشم راهنماییم کنید

با تشکر

the king
شنبه 07 دی 1398, 15:20 عصر
با سلام خدمت مهندسین عزیز
همگی خسته نباشین

چطور میتونم مدت زمان اجرای یک فرآند را محاسبه کنم و به همان میزان در progresbar نشان بدهم و زمانی که به صد در صد رسید عملیات را به پایان برسونم
مثلا
میخوام از اطلاعات دیتابیس پشتیبان بگیرم بر اساس میزان حجم دیتا بیس و سرعت سیستم یه مدت زمانی به باخره طول میکشه میخوام داخل پروگس با و تایمر این کار را انجام بدم

ممنون میشم راهنماییم کنید

با تشکر

برای نگهداری زمان و تخمین زمان باقی مونده DateTime کفایت می کنه که برای موضوع کار شما هم مناسبه ولی کلا Stopwatch نتایج دقیقتری داره.
شما در ابتدای شروع کار نرخ فرایند (مثلا رکورد بر ثانیه) رو نمی دونید، نمیدونید 1000 تا رکورد در چند میلی ثانیه انتقال پیدا میکنه.
پس حداقل 10 الی 20 ثانیه ابتدای کار صرفا زمان سپری شده رو نشون میدید و هنوز مشخص نیست چقدر زمان باقی مونده.
بعد از سپری شدن 10 الی 20 ثانیه دیگه تعدادی رکورد رو منتقل کردید و حدودی میتوانید حساب کنید که نرخ انتقال چقدر ئه که به مرور دقیقتر هم میشه و از اونجا به بعد زمان باقی مونده رو هم نشون خواهید داد.
از اونجایی که میخواهید عملیات با حداکثر سرعت انجام بشه و در ضمن اختلالی در نمایش ProgressBar و زمان و ارتباط کاربر با فرم پیش نیاد، عملیات پشتیبانگیری و یا بررسی تعداد رکورد منتقل شده رو در نخ دیگری انجام میدید، مثلا به کمک BackgroundWorker

151186

مثال پیوستی رو بررسی بفرمایید :
151183
151184
151185

misagh.sys
شنبه 07 دی 1398, 15:46 عصر
دمت گرم

برای محاسبه مدت زمان عملیات ثبت اطلاعات هم میشه ازش استفاده کرد ؟

the king
شنبه 07 دی 1398, 16:00 عصر
دمت گرم

برای محاسبه مدت زمان عملیات ثبت اطلاعات هم میشه ازش استفاده کرد ؟


در همین مثال هم Fill Table1 زمان ثبت اطلاعات با Insert ئه. و Copy to Table2 زمان کپی از جدولی به جدول دیگه.