PDA

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



birtemp
پنج شنبه 23 آذر 1391, 12:18 عصر
سلام
چطوری میشه تمام دستورات برنامه رو تو فقط یه Thread اجرا کرد؟
یا راهی برای اجرای تمام دستورات برنامه بدون هنگ کردن برنامه وجود داره؟
اگه روشی رو در این باره می دونید لطفاً معرفی کنید.
ممنون

keyvan_s89
پنج شنبه 23 آذر 1391, 13:17 عصر
سلام
چطوری میشه تمام دستورات برنامه رو تو فقط یه Thread اجرا کرد؟
یا راهی برای اجرای تمام دستورات برنامه بدون هنگ کردن برنامه وجود داره؟
اگه روشی رو در این باره می دونید لطفاً معرفی کنید.
ممنون


private void test1()
{

cod////

}

private void button1_Click(object sender, EventArgs e)
{
System.Threading.Thread myThread1 = new System.Threading.Thread(test1);


myThread1.Start();

مهرداد صفا
پنج شنبه 23 آذر 1391, 15:11 عصر
سلام
چطوری میشه تمام دستورات برنامه رو تو فقط یه Thread اجرا کرد؟
یا راهی برای اجرای تمام دستورات برنامه بدون هنگ کردن برنامه وجود داره؟
اگه روشی رو در این باره می دونید لطفاً معرفی کنید.
ممنون


سلام دوست عزیز
یادآوری کنم که تمام دستورات برنامه و در کل همه دستورات در ویندوز درون (از طریق) thread اجرا میشوند.
شما میتوانید قسمتی را که محاسبه آن زمان بیشتری میطلبد (مثل حلقه ها و ..) از طریق یک thread مجزا اجرا کنید تا در عین حال دیگر قسمتهای برنامه هم مشغول کار خود باشند.
اگر در یک حلقه برنامه هنگ میکند میتوانی متود Aplication.DoEvents را درون حلقه اجرا کنید.

arash.abdollahikakroodi
پنج شنبه 23 آذر 1391, 17:45 عصر
سلام دوست عزیز ، شما می تونید اینترفیس رو از بخش منطقی برنامه جدا کنید ، برای این کار همون اول یه Thread بسازید و همه کدتونو توی اون Thread بنویسید این طوری از هنگ کردن برنامه خلاص میشید ، مخصوصا وقتی Socket Programming کار می کنید .

r_s1389@yahoo.com
پنج شنبه 23 آذر 1391, 19:31 عصر
به نظر شما اگه من بیام تمام برنامه ام رو تو ترد بنویسم مشکلی نداره
برنامه هم طوری است که هنگ نمیکنه

r_s1389@yahoo.com
پنج شنبه 23 آذر 1391, 20:47 عصر
کسی نیست جواب بده

hamedre81
پنج شنبه 23 آذر 1391, 21:13 عصر
سلام

من هم با M.safa (http://barnamenevis.org/member.php?261217-M.safa) موافقم برنامه در کل با یک ترد اجرا می شه

اگه کل برنامه رو درون یک ترد بنویسم باز برنامه جای که می خواد محاسبه یا کار رو انجام بده هنگ می کنه تا پایان پردازش

بنظرم راهی جر اینکه برای هر عملی (وقتگیر) یه ترد بنویسم نداریم1:لبخندساده:

birtemp
جمعه 24 آذر 1391, 00:46 صبح
من برنام ام رو با WPF طراحی کردم.
وقتی مثلاً میخوام دکمه maximize برنامه رو فشار بدم یکم دیر اینکار انجام میشه.
البته من دستور maximize پنجره برنامه رو تو داخل thread هم تست کردم ولی یه تفاوت با بدون thread داشت. اونم این بود که برنامه هنگ نمیکرد ولی عمل maximizeدیر اجرا میشد.
یعنی هر کاری کنم سرعت اجرای دستورات پایینه. که تقریباً تو ظاهر شبیه هنگ کردن میشه.

در ضمن به نظر شما اگه برای هر دوستور کوچکی از یه thread استفاده کنم برنامه سنگین نمیشه؟!