Kolejka to uporządkowana struktura danych „pierwszy na wejściu, pierwszy na wyjściu”. Typowe implementacje kolejek obsługują wypychanie elementów do tyłu i wyrzucanie ich z przedniej pozycji.
Załóżmy, że mamy dwa stosy i żadnej innej zmiennej tymczasowej. Czy możliwe jest „skonstruowanie” struktury danych kolejki przy użyciu tylko dwóch stosów?
Bardzo proste i szybkie pytanie o biblioteki Java: czy istnieje gotowa klasa, która implementuje a Queueo ustalonym maksymalnym rozmiarze - tzn. Zawsze pozwala na dodawanie elementów, ale po cichu usunie elementy główne, aby pomieścić miejsce dla nowo dodanych elementów. Oczywiście wdrożenie go ręcznie jest trywialne: import java.util.LinkedList; public class LimitedQueue<E> …
Potrzebuję kolejki, w której wiele wątków może umieszczać różne rzeczy, z których wiele wątków może czytać. Python ma co najmniej dwie klasy kolejek, Queue.Queue i collections.deque, przy czym ta pierwsza najwyraźniej wykorzystuje tę drugą wewnętrznie. Oba twierdzą, że są bezpieczne w wątku w dokumentacji. Jednak dokumenty kolejki również stwierdzają: collections.deque …
Do implementacji klasy JobQueue używam std :: queue. (Zasadniczo ta klasa przetwarza każde zadanie w sposób FIFO). W jednym scenariuszu chcę wyczyścić kolejkę za jednym zamachem (usunąć wszystkie zadania z kolejki). Nie widzę żadnej przejrzystej metody dostępnej w klasie std :: queue. Jak efektywnie wdrożyć przejrzystą metodę dla klasy JobQueue? …
Mam scenariusz, w którym mam wiele wątków dodających do kolejki i wiele wątków odczytujących z tej samej kolejki. Jeśli kolejka osiągnie określony rozmiar, wszystkie wątki , które wypełniają kolejkę, zostaną zablokowane przy dodawaniu, dopóki element nie zostanie usunięty z kolejki. Poniższe rozwiązanie jest tym, czego teraz używam, a moje pytanie …
Jakie są podstawowe różnice między kolejkami i potokami w pakiecie wieloprocesorowym Pythona ? W jakich scenariuszach należy wybrać jeden z nich? Kiedy warto używać Pipe()? Kiedy warto używać Queue()?
Pracuję nad dość dużą aplikacją internetową, a backend jest głównie w PHP. W kodzie jest kilka miejsc, w których muszę wykonać jakieś zadanie, ale nie chcę, aby użytkownik czekał na wynik. Na przykład podczas tworzenia nowego konta muszę wysłać im powitalną wiadomość e-mail. Ale kiedy klikną przycisk „Zakończ rejestrację”, nie …
Kiedy próbuję: Queue<Integer> q = new Queue<Integer>(); kompilator daje mi błąd. Jakaś pomoc? Ponadto, jeśli chcę zainicjować kolejkę, czy muszę zaimplementować metody kolejki?
Z JavaDocs: ConcurrentLinkedQueue jest właściwym wyborem, gdy wiele wątków będzie współużytkować dostęp do wspólnej kolekcji. Ta kolejka nie zezwala na elementy puste. ArrayBlockingQueue to klasyczny „ograniczony bufor”, w którym tablica o stałej wielkości zawiera elementy wstawiane przez producentów i wyodrębniane przez konsumentów. Ta klasa obsługuje opcjonalne zasady uczciwości dotyczące zamawiania …
Jaka jest podstawowa różnica między stosem a kolejką? Proszę, pomóż mi, nie mogę znaleźć różnicy. Jak rozróżniasz stos i kolejkę? Szukałem odpowiedzi w różnych linkach i znalazłem tę odpowiedź. W programowaniu na wysokim poziomie stos jest definiowany jako lista lub sekwencja elementów, która jest wydłużana poprzez umieszczanie nowych elementów „na …
Potrzebuję kolejki o stałym rozmiarze. Kiedy dodam element, a kolejka jest pełna, powinna automatycznie usunąć najstarszy element. Czy istnieje taka implementacja w Javie?
Używam ConcurrentQueuedo udostępnionej struktury danych, której celem jest przechowywanie ostatnich N przekazanych do niej obiektów (rodzaj historii). Załóżmy, że mamy przeglądarkę i chcemy mieć 100 ostatnio przeglądanych adresów URL. Chcę kolejki, która automatycznie upuszcza (usuwa z kolejki) najstarszy (pierwszy) wpis po wstawieniu nowego wpisu (kolejce), gdy pojemność się zapełni (100 …
Moje pytanie dotyczy tego pytania zadanego wcześniej. W sytuacjach, w których używam kolejki do komunikacji między wątkami producenta i konsumenta, czy ludzie ogólnie zalecają używanie LinkedBlockingQueuelub ConcurrentLinkedQueue? Jakie są zalety / wady używania jednego nad drugim? Główną różnicą, którą widzę z perspektywy API, jest to, że LinkedBlockingQueuemoże być opcjonalnie ograniczony.
Weźmy PriorityQueuena przykład http://java.sun.com/j2se/1.5.0/docs/api/java/util/PriorityQueue.html#offer(E) Czy ktoś może mi podać przykład, w Queuektórym metody addi offersą różne? Według Collectiondokumentu addmetoda ta często stara się zapewnić istnienie elementu w obrębie, Collectiona nie dodawać duplikatów. Więc moje pytanie brzmi: jaka jest różnica między metodami addi offer? Czy to dlatego, że offermetoda i tak …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.