PDA

View Full Version : سوال: قفل کردن نرم افزار نوشته شده با استفاده از multithread



root88
دوشنبه 02 اسفند 1389, 22:19 عصر
با سلام، دوستان من یه برنامه با C#نوشتم که multithread هست اما همش فقل میکنه یکماهه روش کار میکنم اما درست نمیشه که نمیشه ، کسی میتونه کمک کنه؟ اصلا تریسشم نمیشه کرد که بفهمم چرا قاطی میکنه. یکی کمک بده خواهشا که چیکار کنم.

Sajjad.Aghapour
دوشنبه 02 اسفند 1389, 22:41 عصر
دوست عزیز شما به چه صورت برنامه رو نوشتید؟
منظور شما از قفل شدن برنامه Deadlock هست یا Freeze شدن خود برنامه؟

در کل برای اتفاق نیافتادن همچین حالتی باید Thread ها رو به صورت Asynchronous پیاده سازی کنید.با این وجود شما با استفاده از امکانات OS میتونید امکان موازی اجرا شدن Thread ها رو فراهم کنید....

root88
دوشنبه 02 اسفند 1389, 23:25 عصر
ممنون از پاسختون، چطور به صورت آسنکرون پیاده کنم؟ببینید برنامه من اینه:

برنامه من یه گراف رو از ورودی می خونه و یه تعداد از گره های این گراف رو انتخاب میکنه و بعد سعی میکنه همه این گره ها رو به هم وصل کنه برای هر کدوم از ان گره یه ترد ساخته میشه. هر کدوم از گره ها باید روالی رو برای پیدا کرده یکی از گره های منتخب طی کنه . یعنی هر گره همسایه ها شو بررسی میکنه اگه یکی از گره های منتخب باشه تابع دیگری رو صدا میزنه در غیر این صورت برای گره همسایه یه ترد میسازه که اونم اینکار رو ادامه و... تا زمانی که یکی از تردها بتونه یکی از گره های موردنظر رو پیدا کنه. بعد سعی میکنه از طریق مسیری که داره به اون گره وصل بشه و با هم یک مجموعه را تشکیل میدن. اینقدر اینکار ادامه پیدا میکنه تا همه گره های منخب به هم وصل شن.

خواهش میکنم کمک کنید.

Sajjad.Aghapour
دوشنبه 02 اسفند 1389, 23:47 عصر
پس اساس کار شما یک Flooding Algorithm هستش که البته مراقبت های خاص خودش رو میخواد.چیزی که شما اینجا مطرح کردید یک مشکل الگوریتمیک هستش که فکر میکنم موجب یک Loop بی نهایت در برنامه میشه....

جزئیات رو ذکر کنید تا دوستان بهتر بتونن کمکتون کنن

موفق باشید/

root88
سه شنبه 03 اسفند 1389, 09:14 صبح
با سلام تو رو خدا یکی به من کمک کنه. این الگوریتم برنامه است. من کدبرنامه هم براش نوشتم اما مشکل داره. لطفا کمکم کنید دیگه نمی دونم چیکار کنم.

root88
جمعه 06 اسفند 1389, 23:47 عصر
کسی نیست کمک کنه، یکی منو دریابه.