Chào buổi chiều.
Có một câu hỏi cho một cuộc phỏng vấn như thế này.
Bạn biết bao nhiêu cách để tạo chủ đề? Số 2 xuất hiện trong các câu trả lời: tạo
Thread
, chuyển nó
Runnable
hoặc tạo một đối tượng của lớp con cháu
Thread
trong đó
run()
. Nhưng tôi tự hỏi: có phải là hai không? Ví dụ: nếu bạn sử dụng
concurrent
,
Executors.newFixedThreadPool(5)
thì khi các đối tượng luồng được tạo, ngay lập tức khi phương thức này được thực thi hoặc sau đó, khi các tác vụ xuất hiện để thực thi (xét cho cùng, chúng có thể không xuất hiện). Tất cả các phương thức xuất xưởng này đều trả về một số loại cấu hình
ThreadPoolExecutor
, có một trong các tham số cấu hình.
corePoolSize
Về trường này, người ta viết:
corePoolSize
– số lượng luồng cần giữ trong nhóm,
ngay cả khi chúng không hoạt động , trừ khi
allowCoreThreadTimeOut
được đặt. Mặt khác, nếu nhiệm vụ không đến thì chúng tôi đã tạo 5 công nhân nhàn rỗi, có thể họ sẽ bắt đầu được tạo khi nhiệm vụ bắt đầu đến?
Nhìn chung, bạn vẫn có thể ghi nhớ 2 hoặc 3 phương án để trả lời câu hỏi?
GO TO FULL VERSION