استفاده از thread در برنامه C#‎

طاها حک

کاربر فعال مهندسی IT ,
کاربر ممتاز
با سلام.
من یک برنامه C#‎ نوشتم که یک مساله خاصی هوش مصنوعی رو حل میکنه. اجرای برنامه برای پیدا کردن راه حل بسته به مراحل مختلف مساله ممکنه تا چند ساعت طول بکشه. نکته جالب توجه این بود که در چند ساعت اجرای برنامه به طور میانگین 10% از cpu مصرف می شه و البته هیچ برنامه ای هم همزمان در کامپیوتر اجرا نمیشه و در عمل cpu بیکار میمونه.
اول اینکه چه کار میتونم بکنم تا برنامه ام سریعتر و با مصرف پردازشگر بیشتر اجرا بشه؟؟؟
خودم تصمیم گرفتم که از thread استفاده کنم و در قسمت هایی از برنامه که یک کار دقیقاً مجزا برای اشیای مختلف انجام میشد، به ازای هر شی یک thread تعریف کردم. در واقع در داخل یک حلقه for یک متد برای هر شی فراخوانی میشد که من فراخوانی این متد رو به یک thread دادم.
اما این کار هیچ تاثیری در اجرای برنامه نداشت و حتی زمان اجرای برنامه را کمی افزایش داد.
علت این مساله چی میتونه باشه؟
با تشکر
 

Similar threads

بالا