Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.List;
- public class SyncLibrary {
- List<String> books = new ArrayList<>();
- int kapacitet; //kolku knigi sobira vo bibliotekata
- public SyncLibrary(int kapacitet)
- {
- this.kapacitet=kapacitet;
- }
- //slucaj koga clenot treba da vrati kniga vo bibliotekatta
- public synchronized void returnBook(String book) throws InterruptedException {
- // if(books.size()==kapacitet)
- // {
- // //nemozeme da dodavame knigi
- // System.out.println("Nemozeme da dodavame knigi");
- // }
- // else
- // books.add(book);
- //ako kapacitetot ni e ist so brojot na knigi treba da cekame pred da vratime kniga
- while (books.size()==kapacitet){
- wait();
- }
- books.add(book);
- notifyAll(); // da gi razbudime site threads koi spijat i da se aktiviraat tie koi zavisat od ovoj thread
- }
- //slucaj kgoa clenot treba da zeme kniga od bibliotekata
- public synchronized String borrowBook() throws InterruptedException {
- String book="";
- while (books.size()==0){
- wait();
- }
- book= books.remove(0);
- notifyAll();
- return book;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement