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

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

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #1
روش کار event ها
سلام.
یه سوال در مورد event ها دارم.

میخوام بدونم یه event چطور از انجام رویدادی با خبر میشه.

وقتی تو پروژه delegate و event تعریف میکنیم خودمون مشخص میکنیم اون Event کی رخ میده. چون اون event در سطح پروژه ماست و زمان رخدادش هم دست خودمونه.

اما در سطح سیستم عامل وضع به چه صورته؟

یه مثال میزنم.
چند وقت پیش تو یه پروژه باید از اتصال کامپیوتر به شبکه مطلع میشدم. راه آماتورش این بود که بیام یه حلقه بذارم و هر ثانیه اتصال به شبکه رو چک کنم. راه اصولی و منطقی تر این بود که از event ها استفاده کنم. eventی تو پروژه قرار دادم که به محض اتصال به شبکه اجرا میشد.

حالا میخوام بدونم این event چطور از اتصال به شبکه با خبر میشه؟ آیا برنامه در پشت پرده هر ثانیه اتصال به اینترنت رو چک میکنه ( که بعید میدونم دست هایی پشت پرده باشه. چون در این صورت با افزایش event ها باید کارکرد CPU بالا بره. ولی نمیره ) ؟ یا نه به محض اتصال به اینترنت سیستم عامل میاد به همه برنامه هایی که منتظر این رویداد بودن اطلاع میده؟
۳۱-مرداد-۱۳۸۹, ۱۳:۴۱:۰۳
ارسال‌ها
پاسخ
تشکر شده توسط : mvig, salehjg, HoseinVig
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #2
RE: روش کار event ها
فکر کنم کلا همه چی رویدادی باشه توی سیستم عامل. البته حلقه هم شاید باشه بلاخره توی سطوح پایین حلقه هم هست حتما؟

میزان رای دشمن است!
[تصویر:  cff100.png]
۳۱-مرداد-۱۳۸۹, ۱۷:۴۱:۲۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : salehjg, HoseinVig
HoseinVig آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,165
موضوع‌ها: 97
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 4768
( 2464 تشکر در 677 ارسال )
ارسال: #3
RE: روش کار event ها
رویداد های اصلی با وقفه های سیستم عامل شناخته میشوند اما رویداد هایی که برنامه نویسان طراحی میکنند یا کلا جزو رویداد های اصلی نیستند فکر میکنم یا بطور مستقیم از حلقه استفاده میکنند یا اینکه در نهایت به حلقه ختم میشه ، اینکه سرعت کاهش پیدا نمیکنه شاید دلیلش این باشه که رویداد ها یی که از حلقه استفاده میکنند همگی از یک حلقه سیستمی استفاده میکنند اما خودمان اگر بصورت دستی حلقه بنویسیم حلقه هم جدا گونه انجام میشه هم چون در سطوح بالاتر اجرا میشه سرعت کمتری داره...
این اطلاعات ناقص من بود

۰۱-شهریور-۱۳۸۹, ۲۰:۰۸:۴۲
ارسال‌ها
پاسخ
تشکر شده توسط : Payman62, salehjg
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

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

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #4
RE: روش کار event ها
سلام.
البته منظور من از بالا رفتن راندمان CPU کاهش سرعت نبود. چون event ها خیلی فشار به CPU نمیارن. اونم با CPU های چند هسته ایه الآن.
ولی اگه قراره حلقه استفاده کنن و event های زیادی هم استفاده شده باشه کارکرد اون پروسه حداقل باید مثلا بین 0 و 1 و 2 درصد نوسان داشته باشه. ولی نه تا حدی که سرعت سیستم به طور محسوس کم بشه.
۰۲-شهریور-۱۳۸۹, ۰۱:۳۴:۴۳
ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig, salehjg
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

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

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #5
RE: روش کار event ها
سلام.
چی شد پس؟ هیچ کی نظری نداره؟
۰۳-شهریور-۱۳۸۹, ۲۳:۵۴:۵۲
ارسال‌ها
پاسخ


پرش به انجمن:


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

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