عصر بخیر.
یک سوال برای چنین مصاحبه ای وجود دارد.
چند راه برای ایجاد تاپیک می شناسید؟ عدد 2 در پاسخ ها ظاهر می شود: یا ایجاد کنید
Thread
، آن را ارسال کنید
Runnable
، یا یک شی از یک کلاس نزول ایجاد کنید
Thread
که در آن
run()
. اما من تعجب کردم: آیا این دو است؟
concurrent
برای مثال، اگر از را استفاده کنید
Executors.newFixedThreadPool(5)
، وقتی اشیاء رشته ایجاد میشوند، بلافاصله زمانی که این متد اجرا میشود، یا بعداً، زمانی که وظایف برای اجرا ظاهر میشوند (در نهایت، ممکن است ظاهر نشوند). همه این متدهای کارخانه نوعی پیکربندی را برمیگردانند
ThreadPoolExecutor
که یکی از پارامترهای پیکربندی را دارد.در
corePoolSize
مورد این فیلد نوشته شده است:
corePoolSize
- تعداد رشتههایی که باید در استخر نگهداری شوند،
حتی اگر بیکار باشند ، مگر اینکه
allowCoreThreadTimeOut
تنظیم شده باشد، از طرف دیگر، اگر وظایف به دست نیامد، پس ما 5 کارگر بیکار ایجاد کردیم، شاید با شروع کارها شروع به ایجاد شدن کنند؟
به طور کلی هنوز هم می توان 2 یا 3 گزینه را به عنوان پاسخ سوال در ذهن داشت؟
GO TO FULL VERSION