منافسة الخيوط في روبي: ليست معركة عشوائية

2025-02-03

لفترة طويلة، كنت أفهم خطأً "منافسة الخيوط" في روبي. إنها ليست معركة فوضوية؛ بل على العكس، تنتظر خيوط روبي بأدب في طابور للحصول على قفل آلة الحوسبة الافتراضية العالمية (GVL). يحصل كل خيط على GVL، وينفذ الكود، ثم يُطلق سراحه أو يتم استباقه بعد وقت معين (كمية الخيط، الافتراضية 100 مللي ثانية). يحدث هذا عندما يقوم الخيط بعملية إدخال/إخراج أو يعمل لفترة أطول من كميته. إن فهم هذا أمر بالغ الأهمية لتحسين تطبيقات الخيوط المتعددة، خاصةً لتجنب خيوط وحدة المعالجة المركزية التي تعيق خيوط إدخال/إخراج، مما يؤدي إلى زيادة زمن الوصول النهائي. إن تقليل أولوية خيوط وحدة المعالجة المركزية أو تقليل كمية الخيط قد يساعد، لكن الحد الأدنى للشريحة هو 10 مللي ثانية.