PDA

View Full Version : همزمانی اجرای توابع مختلف به صورت نا محسوس و حرکت در بین فرم ها



m_h_2007
چهارشنبه 25 دی 1392, 01:44 صبح
با سلام خدمت اساتید - من در حال نوشتن برنامه ای هستم که این برنامه نوعی سرویس دهنده است. یعنی امکان دارد در یک روز 2 تا Task برای آن تعریف شود که مثلا هر 2 ثانیه یک بار این Task ها را به صورت اتوماتیک انجام دهد. یعنی تا زمانی که برنامه باز است هر 2 ثانیه یک بار 2 تا Task مجزا که در واقع مشابه دو نخ هستند باید اجرا شوند طوری که به عملکرد یکدیگر لطمه نزنند. این کار باید در پشت صحنه انجام شود . یعنی زمانی که برنامه را برای اولین بار باز میکنیم طبق تعریف قبلی 2 تا Task شروع به اجرا به صورت مجزا و همزمان می کنند و ما نمیبینیم و بایستی همزمان با اجرای این 2 تا Task ما بین فرم های مختلف حرکت کنیم و کارهای دیگری را هم همزمان انجام می دهیم مثلا چند رکورد در یک جدول درج می کنیم و انگار نه انگار که اون Task ها دارن اجرا میشن . شاید بعدا تعداد Task ها بیشتر هم بشه مثلا 10 تا Task جدید هم تعریف کنیم که جمعا بشه 12 تا Task همزمان
چه الگوریتمی استفاده شود ؟ 1- به ازای هر Task یک Thread اول برنامه ساخته شود و شروع به کار کند ؟ 2- می توان از BackgroundWorker و یک Timer استفاده نمود ؟ 3- در کدام حالت برنامه سریع تر است؟ 4- در کدام حالت برنامه سنگین تر است و در UI این سنگینی حس می شود؟ 5- آیا راه حل بهتری وجود دارد ؟