Sobes.tech
Senior

Горутин чӣ аст? Чаро онро сабук меноманд? Андозаи ибтидоии хотираи горутин ва максималӣ чӣ аст?

sobes.tech AI

Ҷавоб аз AI

گوروتین یک نخ اجرای سبک در زبان برنامه‌نویسی Go است که در سطح زمان اجرا پیاده‌سازی شده و نه توسط سیستم‌عامل. این امکان را می‌دهد که توابع به صورت موازی با حداقل هزینه اجرا شوند.

به آن سبک گفته می‌شود چون بر خلاف نخ‌های سیستم، گوروتین‌ها حافظه بسیار کمی اشغال می‌کنند و سریع ساخته می‌شوند. این کار از طریق مدیریت دینامیک پشته و برنامه‌ریز در سطح Go انجام می‌شود.

اندازه اولیه پشته یک گوروتین معمولاً حدود ۲ کیلوبایت است (در نسخه‌های قدیمی‌تر Go — ۴ کیلوبایت)، اما پشته می‌تواند بسته به نیازها به صورت دینامیک رشد و کاهش یابد و به حداکثر چند مگابایت برسد (معمولاً تا ۱ گیگابایت، هرچند در عمل به چنین پشته بزرگی نیاز نیست). این رویکرد امکان اجرای هزاران و حتی میلیون‌ها گوروتین همزمان را بدون هزینه قابل توجه در حافظه فراهم می‌کند.