Junior — Middle
თუ მიმდინარე goroutine-ის სტეკი თავისი საზღვარს გადააჭარბებს, რა შედეგები შეიძლება მოჰყვეს?
sobes.tech AI
პასუხი AI-სგან
যদি Go-র বর্তমান goroutine-এর স্ট্যাক তার সীমা অতিক্রম করে, তবে স্বয়ংক্রিয়ভাবে স্ট্যাক সম্প্রসারণ ঘটে। ঐতিহ্যবাহী স্থির আকারের থ্রেডের থেকে আলাদা, goroutine-এর স্ট্যাক ডাইনামিক এবং ছোট আকারে (সাধারণত 2 KB) শুরু হয় এবং প্রয়োজন অনুযায়ী বাড়ানো হয়।
ফলাফল:
- পুরানো স্ট্যাকের বিষয়বস্তু নতুন, বড় স্ট্যাকে কপি করা হয়।
- এটি সম্প্রসারণের সময় ছোট একটি বিলম্ব সৃষ্টি করতে পারে।
- যদি স্ট্যাক সম্প্রসারণ করা না যায় (উদাহরণস্বরূপ, স্মৃতি শেষ হয়ে গেলে), প্রোগ্রাম "runtime: goroutine stack exceeds limit" এর সাথে panic করতে পারে।
অতএব, স্ট্যাকের সীমা অতিক্রম করা তৎক্ষণাৎ পতনের কারণ নয়, বরং ডাইনামিক বৃদ্ধি, যা চরম পরিস্থিতিতে panic সৃষ্টি করতে পারে।