امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
MTAThread ,STAThread
نویسنده پیام
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #1
MTAThread ,STAThread
سلام.
قضیه ی STA و MTA که در Program.cs داخل [] تعریف میشه چیه؟
در حالت عادی روی STAThread هست اما وقتی بخواهیم از multi threading استفاده کنیم ، باید چیکار کنیم؟روی MTAThread بزاریم؟ وقتی می زارم رو mta برنامه اجرا میشه فقط وقتی که از .net استفاده میشه ارور میده .(مثلا وقتی می خواهیم از openFileDialog استفاده کنیم)
۱۶-تير-۱۳۸۹, ۱۶:۵۳:۱۵
وب سایت ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #2
RE: MTAThread ,STAThread
سلام.
روی همون ApartmentState.STA باشه به صورت مالتی ترد کار میکنه.
۲۱-تير-۱۳۸۹, ۲۰:۱۰:۴۷
ارسال‌ها
پاسخ
تشکر شده توسط : salehjg
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #3
RE: MTAThread ,STAThread
(۲۱-تير-۱۳۸۹, ۲۰:۱۰:۴۷)Payman62 نوشته است: سلام.
روی همون ApartmentState.STA باشه به صورت مالتی ترد کار میکنه.

اما وقتی برنامه داره با تمام قوا کار میکنه ، task manager نشون میده که فقط 13 % از cpu مشغوله.

چطور میشه از MTA استفاده کرد؟ اصلا mta به چه دردی می خوره؟
۲۱-تير-۱۳۸۹, ۲۰:۳۵:۰۲
وب سایت ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #4
RE: MTAThread ,STAThread
سلام.
خوب cpu چند هسته ایه. دلیل نداره حتما بره رو 100%.
شما تعداد ترد هارو تو همون تسک منیجر نگاه کن.
۲۱-تير-۱۳۸۹, ۲۲:۰۳:۵۲
ارسال‌ها
پاسخ
تشکر شده توسط : salehjg


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS