معرفی کتابخانه libuv

خرید بک لینک
به نام خدا

کتابخانه ای بنام libuv به زبان c نوشته شده که ویژگیهای خاصی برای علاقمندان به کارهای سیستمی دارد. کتابخانه libuv ویژگیهای ذیل دارد:

  • مستقل از سیستم عامل (روی هر سیستم عاملی کار می کند و بدلیل عدم وابستگی به سیستم عامل بسیار سریع است)
  • رویداد گرا ( هر اتفاقی بیافتد بلافاصله با خبر می شوید. کارهای I/O بلوکه کننده نیستند و به صورت غیر همگام کارها انجام می شود)

این کتابخانه با ویژگی عالی cross-platform بودن و عدم مسدود کردن در حین انجام کارهای I/O و مستقل از سسیتم عامل باعث شده فضای مناسبی برای تسریع در کارها ایجاد کرده و یک زیر ساخت مناسبی برای کد نویسی سیستمی شده است.

هسته کاری libuv بر اساس event-loop و call back که روی I/O مطرح می شود. مسولیت جمع آوری event ها از سیستم عامل و یا نظارت بر دیگر event ها توسط libuv انجام می شود. کاربر call back ها را ثبت می کند تا زمانی که event اتفاق بیافتد.

می دانیم برای اینکه یک کار I/O انجام شود پردازنده یک زمانی بیکار خواهد بود و اتلاف زمانی تا اجرای کامل دستور العمل خواهیم داشت. راهکار threading برای کاهش زمان بیکاری پردازنده استفاده می شود. event-loopروش دیگری که توسط libuv مطرح شده که باعث اجرای آسنکرون غیر بلوکه کننده می شود.

کدنویسی با کمک libuv رعایت اصولی را می طلبد که باید دقت شود.

  1. افزودن کتابخانه uv.h به کد اولین کاری که باید انجام شود.
  2. تخصیص حافظه برای event-loop
  3. مقدار دهی اولیه صف event-loop
  4. کدهای برنامه....
  5. اجرا از صف event-loop
  6. حذف مقدار دهی اولیه صف
  7. حذف حافظه تخصیص داده شده

#include

main()

{

uv_loop_t *loop= malloc(size of(uv_loop_t));

uv_loop_init(loop);

..

uv_run(loop,UV_RUN_DEFAULT);

uv_loop_close(loop);

(free(loop

{

https://github.com/mousaviasil/libuv_how-to-work/blob/master/README.md

گناهان...

ما را در سایت گناهان دنبال می‌کنید

برچسب: نویسنده: بازدید: 96 تاريخ: چهارشنبه 15 اسفند 1397 ساعت: 12:22

صفحه بندی