Kịch bản: Nhà sản xuất của tôi điền vào mảng, nói năng lực mới int [10], trước khi người tiêu dùng của tôi có cơ hội để tiêu thụ bất kỳ. Nhà sản xuất của tôi thấy mảng đầy và khối.Làm thế nào để ArrayBlockingQueue tránh xáo trộn các phần tử mảng?
Sau đó, người tiêu dùng của tôi đến và loại bỏ int [0], và tín hiệu cho nhà sản xuất rằng mảng hiện có một khe trống để lấp đầy.
Nhà sản xuất của tôi tỉnh dậy và cố gắng thêm phần tử mới vào mảng. Xem xét chỉ int [0] là miễn phí, và chúng tôi đang thực hiện FIFO, không ArrayBlockingQueue trộn tất cả các yếu tố còn lại 9 bên trái, điền 0-8 chỉ số và để lại int [9] miễn phí cho nhà sản xuất?
tôi đã xem xét việc thực hiện nhưng không thấy bất kỳ chức năng mảng sao chép,
Làm thế nào rất thông minh. – TheCoder