مساء الخير.
هناك سؤال لمقابلة مثل هذا.
كم عدد الطرق لإنشاء المواضيع التي تعرفها؟ يظهر الرقم 2 في الإجابات: إما إنشاءه
Thread
أو تمريره
Runnable
أو إنشاء كائن من فئة سليل
Thread
فيه
run()
. ولكنني تساءلت: هل هما اثنان؟ إذا كنت تستخدم
concurrent
، على سبيل المثال،
Executors.newFixedThreadPool(5)
عند إنشاء كائنات مؤشر الترابط، مباشرة عند تنفيذ هذه الطريقة، أو لاحقًا، عندما تظهر المهام للتنفيذ (بعد كل شيء، قد لا تظهر). تُرجع كل أساليب المصنع هذه نوعًا من التكوين
ThreadPoolExecutor
، والذي يحتوي على أحد معلمات التكوين،
corePoolSize
وقد كتب حول هذا الحقل:
corePoolSize
– عدد الخيوط التي يجب الاحتفاظ بها في المجمع،
حتى لو كانت خاملة ، ما لم
allowCoreThreadTimeOut
يتم تعيينها من ناحية أخرى، إذا لم تصل المهام، فقد أنشأنا 5 عمال خاملين، ربما يبدأ إنشاؤها عندما تبدأ المهام في الوصول؟
بشكل عام، لا يزال من الممكن وضع خيارين أو ثلاثة في الاعتبار كإجابة على السؤال؟
GO TO FULL VERSION