تفاوت بین کوروتین و نخ چیست؟
تفاوت بین کوروتین و نخ چیست؟

تصویری: تفاوت بین کوروتین و نخ چیست؟

تصویری: تفاوت بین کوروتین و نخ چیست؟
تصویری: asyncio python -- روش نوشتن توابع async در پایتون 2024, ممکن است
Anonim

یکی مهم تفاوت بین رشته ها و روتین ها آن است موضوعات معمولاً به طور پیشگیرانه برنامه ریزی می شوند در حالی که روتین ها نیستند. زیرا موضوعات می توان در هر لحظه برنامه ریزی مجدد کرد و می تواند همزمان با استفاده از برنامه ها اجرا شود موضوعات باید مراقب قفل کردن بود

به این ترتیب کوروتین هایی که روی رشته های مختلف اجرا می شود چیست؟

کوروتین ها چیزی برای انجام دادن با موضوعات . کوروتین مواد و روش ها می توان در طول زمان تکه تکه اجرا شود، اما تمام فرآیندها هنوز توسط یک اصلی انجام می شود نخ . اگر بیش از یک CPU منطقی دارید، بسیاری از موضوعات اجرا می شوند ناهمسان CPU ها

علاوه بر این، نخ در برنامه نویسی چیست؟ آ نخ در علوم کامپیوتر مخفف a نخ از اعدام موضوعات راهی برای a برنامه خود را به دو یا چند کار به طور همزمان (یا شبه همزمان) تقسیم کند (که "تقسیم" نامیده می شود.

همچنین باید بدانید که Coroutine چیست، آیا روی موضوع جدید اجرا می شود؟

اتفاقی که با a می افتد روتین این است که اجرا کن روی اصلی نخ هر فریم و اجرا می شود تا زمانی که بازدهی داشته باشد - سپس تا زمانی که شرط بازدهی برآورده شود به حالت تعلیق در می آید. آ نخ به طور موثر دویدن همزمان با سایر کدها (این فقط زمانی صادق است که چندین هسته داشته باشید).

چه زمانی باید از runBlocking استفاده کنم؟

در واقع تو از runBlocking استفاده کنید برای فراخوانی توابع تعلیق در کد "مسدود کننده" که در غیر این صورت در آنجا قابل فراخوانی نبود یا به عبارت دیگر: شما استفاده کنید آن را برای فراخوانی توابع suspend خارج از زمینه اصلی (در مثال شما بلوک ارسال شده به async تابع suspend است).

توصیه شده: