۳۱-مرداد-۱۳۸۹, ۱۳:۴۱:۰۳
سلام.
یه سوال در مورد event ها دارم.
میخوام بدونم یه event چطور از انجام رویدادی با خبر میشه.
وقتی تو پروژه delegate و event تعریف میکنیم خودمون مشخص میکنیم اون Event کی رخ میده. چون اون event در سطح پروژه ماست و زمان رخدادش هم دست خودمونه.
اما در سطح سیستم عامل وضع به چه صورته؟
یه مثال میزنم.
چند وقت پیش تو یه پروژه باید از اتصال کامپیوتر به شبکه مطلع میشدم. راه آماتورش این بود که بیام یه حلقه بذارم و هر ثانیه اتصال به شبکه رو چک کنم. راه اصولی و منطقی تر این بود که از event ها استفاده کنم. eventی تو پروژه قرار دادم که به محض اتصال به شبکه اجرا میشد.
حالا میخوام بدونم این event چطور از اتصال به شبکه با خبر میشه؟ آیا برنامه در پشت پرده هر ثانیه اتصال به اینترنت رو چک میکنه ( که بعید میدونم دست هایی پشت پرده باشه. چون در این صورت با افزایش event ها باید کارکرد CPU بالا بره. ولی نمیره ) ؟ یا نه به محض اتصال به اینترنت سیستم عامل میاد به همه برنامه هایی که منتظر این رویداد بودن اطلاع میده؟
یه سوال در مورد event ها دارم.
میخوام بدونم یه event چطور از انجام رویدادی با خبر میشه.
وقتی تو پروژه delegate و event تعریف میکنیم خودمون مشخص میکنیم اون Event کی رخ میده. چون اون event در سطح پروژه ماست و زمان رخدادش هم دست خودمونه.
اما در سطح سیستم عامل وضع به چه صورته؟
یه مثال میزنم.
چند وقت پیش تو یه پروژه باید از اتصال کامپیوتر به شبکه مطلع میشدم. راه آماتورش این بود که بیام یه حلقه بذارم و هر ثانیه اتصال به شبکه رو چک کنم. راه اصولی و منطقی تر این بود که از event ها استفاده کنم. eventی تو پروژه قرار دادم که به محض اتصال به شبکه اجرا میشد.
حالا میخوام بدونم این event چطور از اتصال به شبکه با خبر میشه؟ آیا برنامه در پشت پرده هر ثانیه اتصال به اینترنت رو چک میکنه ( که بعید میدونم دست هایی پشت پرده باشه. چون در این صورت با افزایش event ها باید کارکرد CPU بالا بره. ولی نمیره ) ؟ یا نه به محض اتصال به اینترنت سیستم عامل میاد به همه برنامه هایی که منتظر این رویداد بودن اطلاع میده؟