Core
ระดับ
Екатеринбург

ThreadPoolExecutor

เผยแพร่ในกลุ่ม
สวัสดีตอนบ่าย. ThreadPoolExecutor - 1มีคำถามสัมภาษณ์แบบนี้ครับ คุณรู้วิธีสร้างเธรดมีกี่วิธี? หมายเลข 2 ปรากฏในคำตอบ: สร้างThreadส่งผ่านRunnableหรือสร้างอ็อบเจ็กต์ของคลาสสืบทอดThreadโดยที่run(). แต่ฉันสงสัยว่ามันเป็นสองเหรอ? concurrentตัวอย่างเช่นหากคุณใช้Executors.newFixedThreadPool(5)เมื่อมีการสร้างอ็อบเจ็กต์เธรด ทันทีที่ดำเนินการเมธอดนี้ หรือหลังจากนั้น เมื่องานปรากฏขึ้นเพื่อดำเนินการ (ท้ายที่สุดแล้ว งานเหล่านั้นอาจไม่ปรากฏขึ้น) วิธีการจากโรงงานทั้งหมดนี้ส่งคืนการกำหนดค่าบางประเภทThreadPoolExecutorซึ่งมีหนึ่งในพารามิเตอร์การกำหนดค่าcorePoolSize มีการเขียนเกี่ยวกับฟิลด์นี้: corePoolSize– จำนวนเธรดที่จะเก็บไว้ในพูลแม้ว่าจะไม่ได้ใช้งานก็ตามเว้นแต่allowCoreThreadTimeOutจะถูกตั้งค่าไว้ หากงานไม่มาถึง เราก็สร้างคนงานที่ไม่ได้ใช้งาน 5 คน บางทีพวกเขาอาจจะเริ่มถูกสร้างขึ้นเมื่องานเริ่มมาถึง? โดยทั่วไปแล้วยังสามารถคำนึงถึงตัวเลือก 2 หรือ 3 ตัวเพื่อเป็นคำตอบสำหรับคำถามได้
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION