ورود

View Full Version : اجرای برنامه در background



Mohammadi_F
جمعه 04 اسفند 1385, 04:43 صبح
سلام
من در برنامه ای که دارم می نویسم چند میلیون رکورد دارم که یکی از فیلدهای اون هر روز باید لااقل یک بار update بشه یا حداقل بایستی چک بشه تا اگه نیاز داشت این کار براش صورت بگیره .
حالا مشکلی که من دارم اینه که update کردن این حجم اطلاعات و اون هم وقتی برای هرکدوم از رکوردها بایستی محاسباتی با توجه به فیلدهای چند جدول دیگه انجام بشه چندین دقیقه طول میکشه و این در حالیه که اولا خیلی از قسمتهای برنامه به این update بصورت فوری نیازی ندارندو فقط بعضی قسمتها حتما باید با رکوردهای update شده کار کنند و دوما کاربرهای برنامه نیاز دارند بلافاصله بعد از اجرای برنامه با اون کار کنند.
در ویرایش قبلی برنامه کدهایی نوشته بودم که کاربر وقتی می خواست برای اولین بار به قسمتهای ضروری برنامه دسترسی پیدا کنه کل اون رکوردها update می شد که خوب چندین دقیقه طول می کشید و چندان جالب نبود اما در ویرایش جدید می خوام که این کار در background انجام بشه ، یعنی به محض شروع برنامه update شروع بشه ولی طوری که کاربر بتونه کارهای خودش رو انجام بده و برنامه با توجه به میزان مشغول بودن سیستم از توانایی سیستم استفاده کنه یعنی سرعت update شدن بستگی به بیکاری یا مشغول بودن سیستم داشته باشه.
نظرتون در این باره چیه و آیا راه حل بهتری سراغ ندارین ؟
در مورد اینکه کدی با توجه به بیکاری یا مشغول بودن سیستم در background اجرا بشه بایستی چکار کنم؟
متشکرم.

Sohrab_Tapar
جمعه 04 اسفند 1385, 12:02 عصر
از Thread استفاده کنید

dkhatibi
شنبه 05 اسفند 1385, 13:12 عصر
از Thread استفاده کنید

راحت تر از اون تایمره

Sohrab_Tapar
شنبه 05 اسفند 1385, 13:21 عصر
اگر پروسس موجود در تایمر طولانی باشه روی سرعت اجرای برنامه اصلی اثر میذاره ولی thread به صورت مستقل از برنامه اصلی اجرا میشه

Mohammadi_F
یک شنبه 06 اسفند 1385, 05:04 صبح
از جوابتون ممنونم .
اگه ممکنه کمی در مورد thread بیشتر توضیح بدید. چون هیچ اطلاعاتی در موردشون ندارم.
ممنون

m-khorsandi
یک شنبه 06 اسفند 1385, 07:43 صبح
ترد - آشنایی با ترد - نحوه بکارگیری در دلفی و ترفندهای استفاده (http://www.barnamenevis.org/forum/showthread.php?t=40947)