Scenariusz: Mój producent wypełnia tablicę, powiedzmy, pojemność nowy, [10], zanim mój konsument będzie miał szansę go wykorzystać. Mój producent widzi, że tablica jest pełna i blokuje.W jaki sposób ArrayBlockingQueue unika tasowania elementów tablicy?
Następnie mój konsument przychodzi i usuwa int [0], i sygnalizuje producentowi, że tablica ma teraz puste miejsce do wypełnienia.
Mój producent budzi się i próbuje dodać nowy element do tablicy. Biorąc pod uwagę, że tylko int [0] jest bezpłatne, a my wdrażamy FIFO, czy ArrayBlockingQueue przetasuje wszystkie pozostałe 9 elementów po lewej stronie, wypełniając 0-8 indeksów i pozostawiając int [9] za darmo dla producenta?
Szukałem w realizacji, ale nie widzę żadnych funkcji array kopiowania
Jak bardzo sprytnie. – TheCoder