Có thể định cấu hình ForkJoinPool
để sử dụng 1 chuỗi thực thi không?Cách cấu hình một ForkJoinPool đơn luồng?
Tôi đang thực thi mã gọi Random
bên trong một ForkJoinPool
. Mỗi khi nó chạy, tôi kết thúc với hành vi thời gian chạy khác nhau, làm cho nó khó khăn để điều tra hồi quy.
Tôi muốn bộ mã hóa cung cấp chế độ "gỡ lỗi" và "giải phóng". Chế độ "gỡ lỗi" sẽ định cấu hình Random
với một hạt cố định và ForkJoinPool
với một chuỗi thực hiện duy nhất. Chế độ "phát hành" sẽ sử dụng các hạt giống Random
do hệ thống cung cấp và sử dụng số chủ đề mặc định là ForkJoinPool
.
Tôi đã thử định cấu hình ForkJoinPool
với tính song song 1, nhưng nó sử dụng 2 luồng (main
và chuỗi công nhân thứ hai). Bất kỳ ý tưởng?
Có một tốt hơn thực hiện ngẫu nhiên cho chế độ phát hành https://docs.oracle.com/javase/tutorial/essential/concurrency/threadlocalrandom.html – zapl
@zapl Tôi đã sử dụng 'ThreadLocalRandom' cho chế độ phát hành. Câu hỏi này không phải là cải thiện hiệu suất. Đó là về việc cải thiện tính năng gỡ lỗi dễ dàng bằng cách định cấu hình 'ForkJoinPool' để sử dụng một chuỗi đơn. – Gili
Bạn đã thử đặt song song thành 0? – pvg