PDA

View Full Version : گفتگو: مشکل در استفاده از Thread



hossein-khoshseyar
چهارشنبه 15 دی 1389, 11:44 صبح
دوستان من یه مشکلی در استفاده از ترد بهش برخورد کردم

توی ترد همیشه اون ترد رو به یک روتینی ارجاع می دیم دیگه


Dim th As System.Threading.Thread = New System.Threading.Thread(AddressOf test)


حالا اگه این دستور توی کد فرم نوشته باشه و تابع تست که بهش ارجا داه شده هم توی کد فرم باشه بدون هیچ مشکلی اجرا میشه وکار می کنه

حالا اگه همین تابع تست رو که توی کدهای فرم بود به یک ماژول منتقل کنیم برنامه اجرا می شده و خطا نمیگیره
و اگه حتی توی همون ماژول توی تابع تست برک پونیت هم بزاریم میبینیم که خط هاش یکی پس از دیگری اجرا می شه
اما هیچ کدوم اعمل نمی شن
مثلا اگه بخوایم توی اون ترد یه لیبل رو از فرم متنش رو عوض کنیم دستورش بدون خطا اجرا میشه اما تغییر اعمال نمیشه؟

لطفا راهنمایید کنید

توی یک برنامه بزرگ الان مجبور شدم یه قسمتهاییش رو ترد کنم . یه قسمت هایی که هرکدوم توی مازولهای مختلف قرار گرفته
اما باایم قضیه مشکل دارم و این ترد ها کر نمی کنن
پیشاپیش ممنون از راهنماییتون

hossein-khoshseyar
چهارشنبه 15 دی 1389, 19:02 عصر
یعنی کسی اطلاعات کاملتری نداره که چطوری میشه از ترد توی ماژول ها استفاده کرد؟
:افسرده::افسرده:

ehsanvahab
چهارشنبه 15 دی 1389, 21:45 عصر
میشه تیکه کدی که داخل Thread استفاده میشه رو بزارید
من احساس میکنم خطای این برنامه اونجاست که شما داخل فرم به طور مستقیم از کنترل فرم میخواین استفاده کنید
شما این فرم رو داخل یک متغیر قرار بدین و اون موقع از داخل Thread با اون متغیر سراسری کار کنید و به کنترل هاش دسترسی داشته باشین

hossein-khoshseyar
چهارشنبه 15 دی 1389, 23:13 عصر
میشه تیکه کدی که داخل Thread استفاده میشه رو بزارید
من احساس میکنم خطای این برنامه اونجاست که شما داخل فرم به طور مستقیم از کنترل فرم میخواین استفاده کنید
شما این فرم رو داخل یک متغیر قرار بدین و اون موقع از داخل Thread با اون متغیر سراسری کار کنید و به کنترل هاش دسترسی داشته باشین

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

چند خط کد بیشتر نداره
اگه ببینی متوجه می شی که من چی می گم

ehsanvahab
پنج شنبه 16 دی 1389, 11:38 صبح
دوست عزیز مشکل همونی بود که حدس زدم
من کد شما رو اصلاح کردم و براتون گذاشتم

hossein-khoshseyar
پنج شنبه 16 دی 1389, 11:58 صبح
دوست عزیز مشکل همونی بود که حدس زدم
من کد شما رو اصلاح کردم و براتون گذاشتم


ممنون دوست عزیز برنامه تو کار کرد
فقط اگه میشه یه توضیحی بده که قضیه چه بوده
ممنون میشم
راستش ظاهرا با چند بار سئوالی که درباره ترد پرسیدم به این نتیجه رسیدم بچه های تالار خیلی هاشون(مثل من ) اطلاعات خوبی از ترد ندارن
اگه کسی (مثل شما) چییهایی ازش می دونه لطف کنه مقاله ای گفتگویی بزاره بد نیست
بازم ممنون

reza_edu
پنج شنبه 16 دی 1389, 22:01 عصر
سلام منم موافقم چون من هیچی دربارش نمیدونم اگه توضیح بدید عالیه دوست عزیز hossein-khoshseyar از شما هم تشکر میکنم بابت سوال مفیدتون فقط اگه جناب ehsanvahab توضیح نخواستن بدن خود شماهم میتونید این کار رو انجام بدین بازم ازمن که فکر کنم بیشتر میدونید در این مورد.

b.mahsa
جمعه 17 دی 1389, 04:16 صبح
در موردthread و معایب و خطرات استفاده ازش. آقای mehdi.mousavi بارها توضیح دادن. تو پست های ایشون جستجو کنید اطلاعات کاملی به دست میارید.

http://barnamenevis.org/showthread.php?112997-%D9%81%D8%A7%DB%8C%D9%84-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-Multi-Threading

http://barnamenevis.org/showthread.php?197197-%D9%86%D8%AD%D9%88%D9%87-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-BackgroundWorker-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%87%D9%85%D8%B2%D9%85%D8%A7%D9%86-%D8%B3%D8%A7%D8%B2%DB%8C

http://barnamenevis.org/showthread.php?220187-%D8%B2%D9%85%D8%A7%D9%86-%D8%AF%D8%B1-Directory.GetFiles

hossein-khoshseyar
جمعه 24 دی 1389, 10:09 صبح
سلام منم موافقم چون من هیچی دربارش نمیدونم اگه توضیح بدید عالیه دوست عزیز hossein-khoshseyar از شما هم تشکر میکنم بابت سوال مفیدتون فقط اگه جناب ehsanvahab توضیح نخواستن بدن خود شماهم میتونید این کار رو انجام بدین بازم ازمن که فکر کنم بیشتر میدونید در این مورد.
دوست عزیز شما می تونید یک سری هم به این تاپیک بزنید

http://barnamenevis.org/showthread.php?269579-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D9%87%D9%85%D8%B2%D9%85%D8%A7%D9%86-%DA%86%D9%86%D8%AF-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1&p=1193683&viewfull=8#post1193683