Wpis z mikrobloga

@kufelmleka: okej, wiesz coś o synchronizacji wątków? powinieneś w klasie Abecadło utworzyć semafor na którym wątek uruchomiony na klasie Abecadło oczekiwałby na przekazanie mu tych stringów. klasa Abecadło posiadałaby następujące STATYCZNE pola:
* kolejka stringów do obsłużenia
* semafor

wówczas przekazanie stringa wygląda następująco:
* wrzucasz stringa do statycznej kolejki
  • Odpowiedz
@kufelmleka: hm, to czy kolejka, stos, czy lista nie ma większogo znaczenia, ale struktura powinna być thread-safe, żeby dwa wątki nie próbowały się do niej dostać w tym samym czasie. zamiast mojego pomysłu znalazłem taką strukturę w dokumentacji javy:

http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html

E take()

Retrieves and removes the head of this queue, waiting if necessary until an element
  • Odpowiedz
@kufelmleka: raczej nie ma innego sposobu. gdzie chciałbyś żeby ta zmienna się pojawiła w tym drugim wątku?

załóżmy, że drugi wątek coś tam sobie wykonuje, a w międzyczasie w pierwszym wątku wywoływana jest metoda setStringToShow. w którym miejscu po stronie drugiego wątku chciałbyś otrzymać tego stringa?
  • Odpowiedz