PDA

View Full Version : مدیریت پردازشها



Safa_Enet
سه شنبه 01 اسفند 1385, 13:27 عصر
سلام
من در vb.net وقتی الگوریتمی نوشته و آنرا اجرا می کنم cpu usage کامپیوتر به 100 میرسد . چرا ؟ مثلا من برنامه ای نوشتم که هارد کامپیوتر را جستجو می کند. وقتی برنامه در حال جستجو است ، کل برنامه هنگ میکند و نمی توان دکمه ای را فشار داد . اگر من بخواهم دکمه ای با عنوان Cancel Search را به آن اضافه کنم چه باید بکنم که در هنگام اجرا بتوان آنرا کلیک کرد ؟ :متفکر:
با تشکر.

Javad_Mail
سه شنبه 01 اسفند 1385, 13:40 عصر
سلام

ببین اولا که نباید برنامه ای نوشت که CPU Usage کامپیوتر رو بترکونه ، بهتر که تمامی Object ها رو که می سازی ببندی یا از بین ببری .

اما توی دات نت مبحثی هست به نام Thread که فکر کنم تو سایت یکم بگردی پیداش می کنی فقط این رو بگم ، که ،Thread کار رو در زمانهای طولانی تر انجام میده و لی کار دیگر برنامه ها رو مختل نمی کنه و می تونه هر لحظه متوقف و شروع و برای مدتی متوقف کنی و خیلی چیزای دیگه .
موفق باشی

linux
سه شنبه 01 اسفند 1385, 21:19 عصر
سلام
من در vb.net وقتی الگوریتمی نوشته و آنرا اجرا می کنم cpu usage کامپیوتر به 100 میرسد . چرا ؟ مثلا من برنامه ای نوشتم که هارد کامپیوتر را جستجو می کند. وقتی برنامه در حال جستجو است ، کل برنامه هنگ میکند و نمی توان دکمه ای را فشار داد . اگر من بخواهم دکمه ای با عنوان Cancel Search را به آن اضافه کنم چه باید بکنم که در هنگام اجرا بتوان آنرا کلیک کرد ؟ :متفکر:
با تشکر.
یک کنترلی به اسم backgroundworker هست می توانی با آن کار کنی

behzad_gh
سه شنبه 01 اسفند 1385, 22:49 عصر
در دات نت وقتی برنامه اجرا می‌شه در حقیقت شما یک Thread در حال اجرا دارید و همانطور که دوستمان گفتند می‌توانید Thread های دیگری در برنامه اضافه کنید Thread به برنامه این امکان رو میدن که در آن واحد عملیات مختلفی رو انجام بدهد .
http://www.startvbdotnet.com/threading/default.aspx
http://www.startvbdotnet.com/threading/thread2.aspx

rezaei manesh
چهارشنبه 02 اسفند 1385, 14:58 عصر
در مورد backgroundworker من یه مثال در تاپیک Code Sample گذاشتم که همین کاری رو که شما می خواهید رو انجام می ده