PDA

View Full Version : سوال: بدست آوردن تعداد تردهایی که یک برنامه میتونه ایجاد کنه



morteza271
سه شنبه 10 مرداد 1391, 10:01 صبح
سلام دوستان.

من یه سوال داشتم میخواستم ببینم کسی میتونه کمک کنه.
من میخوام ببینم توی یه برنامه که با سی شارپ و دات نت 4 نوشتم چه تعداد ترد میتونم ایجاد کنم؟؟
چون الان برنامم وقتی حدود 5تا ترد ایجاد میکنه هنگ میکنه و دیگه نمیتونه ترد ایجاد کنه!
البته من از این کد استفاده کردم ولی به نظرم درست نیست!!!
ThreadPool.GetAvailableThreads(out out1, out out2);
چرا که مقدار خروجی کد بالا با خروجی کد زیر دقیقا برابره که به نظرم نباید اینطور باشه:
ThreadPool.GetMaxThreads(out out1, out out2);
کسی میتونه کمک کنه؟؟
با تشکر

fjm11100
سه شنبه 10 مرداد 1391, 10:26 صبح
منم تست کردم ظاهرا windows بالای 2000 تا ترد در کل پروسس ها هنگ میکنه عجیب

morteza271
سه شنبه 10 مرداد 1391, 13:22 عصر
کسی کدی نداره که دقیقا تعداد تردهایی که یک برنامه میتونه ایجاد کنه رو پیدا کنه؟

tooraj_azizi_1035
سه شنبه 10 مرداد 1391, 13:32 عصر
این مقدار وابسته به سخت افزار هست شما مگه میخوای چی کار کنی؟ اگه با 5 ترد سیستم هنگ می کنه علل مختلفی می تونه داشته باشه. شما کدت رو بذار.

.NET Thread Pool default numbers of threads:

1023 in Framework 4.0 (32-bit environment)
32768 in Framework 4.0 (64-bit environment)
250 per core in Framework 3.5
25 per core in Framework 2.0