ArrayBlockingQueue - implementacja

ArrayBlockingQueue - implementacja
kuba1990
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 lat
  • Postów:39
0

Chciałbym zaimplementować arrayblocking queue do swojego projektu. Program służy do nasłuchiwania zmian w folderze i używam biblioteki java.nio.file. Zmiany są zapisywane w bazie danych.
Za nasłuch w folderze odpowiedzialna jest klasa Notifer, do bazy wrzuca klasa NotiferDatabase.

W jaki sposób zaimplementować do projektu arrayblocking queue? Zacząłem od napisania:

Kopiuj
BlockingQueue<NotifyFolder> queue = new ArrayBlockingQueue<>(10);

i dalej nie wiem jak to powinno wyglądać

edytowany 2x, ostatnio: flowCRANE
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:2 minuty
  • Postów:4935
0

Z czym konkretnie Masz problem, Pokaż jakiś kod. Tworzysz tą kolejkę, w dokumentacji są jej metody i tyle.


kuba1990
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 lat
  • Postów:39
0
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:2 minuty
  • Postów:4935
0

Dobra, teraz do czego Chcesz uzywac tej kolejki?


kuba1990
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 lat
  • Postów:39
0

do kolejki wrzucać sobie producenta, klase z notife i konsumować będzie klasa z bazą danych

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:2 minuty
  • Postów:4935
0

To tu: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ArrayBlockingQueue.html Masz dokumentację, np add(E e) wrzuca element na stos i zwraca true, jak było miejce, peek(), do podejrzenia co jest ostatnie na stosie, i tak dalej...


kuba1990
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 lat
  • Postów:39
0

@lion137 https://paste.ofcode.org/3468zVNeyqwTi8kDSQdVEK8, takie cos juz dziala, ale obowiam sie ze czegos brakuje, powinienem dodac jeszcze runnable?

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:2 minuty
  • Postów:4935
0

Runnable? Nie wiem, a działa ten program?


jarekczek
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Siemianowice Śląskie
  • Postów:500
0

Do kolejki wrzucaj zadania, czyli w Twoim przypadku opis zmiany konkretnego pliku. Nie cały folder. Konsument będzie z kolejki pobierał informację o zmienionym pliku, a kolejka zwolni go z obowiązku śledzenia folderu. O to w tym chodzi.


Przeważnie ignoruję niezarejestrowanych użytkowników.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.