Advertisement
Guest User

Untitled

a guest
Apr 19th, 2015
719
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. Uruchamianie kodów w wątkach i kończenie wątków
  2.  
  3. Zbudować klasę Letters, która posłuży do równoleglego uruchamiania kodów, wypisujących co sekundę litery podane w napisie przekazanym do konstruktora klasy.
  4. Po stworzeniu obiektu klasy Letters w metodzie main(...) klasy Main wystartować wszystkie wątki, w których mają być wypisywane podane litery.
  5. Po wstrzymaniu działania metody main(...) na 5 sekund - zakończyć działanie wszystkich kodów, wypisujących litery.
  6.  
  7. Uruchomienie poniższego programu:
  8. public class Main {
  9.  
  10. public static void main(String[] args) throws InterruptedException {
  11. Letters letters = new Letters("ABCD");
  12. for (Thread t : letters.getThreads()) System.out.println(t.getName());
  13. /*<- tu uruchomić
  14. wszystkie kody w wątkach
  15. */
  16.  
  17. Thread.sleep(5000);
  18.  
  19. /*<- tu trzeba zapisać
  20. fragment, który kończy działanie kodów, wypisujących litery
  21. */
  22. System.out.println("\nProgram skończył działanie");
  23. }
  24.  
  25. }
  26. powinno (w tej postaci) wypisać:
  27. Thread A
  28. Thread B
  29. Thread C
  30. Thread D
  31.  
  32. (po 5 sekundach)
  33. Program skończył działanie
  34.  
  35. Natomiast po uzupełnieniu kodu w miejscah wskazanych przez /*<- */ - coś w rodzaju:
  36.  
  37. Thread A
  38. Thread B
  39. Thread C
  40. Thread D
  41. ACDBDBACACDBCBDA
  42. Program skończył działanie.
  43.  
  44. Uwaga 1: modyfikacje klasy Main są dopuszczalne tylko w miejscach wskazanych przez /*<- */
  45. Uwaga 2: nie wolno stosować System.exit
  46. Uwaga 3: warto przy definiowaniu metody run() zastosować lambda-wyrażenie
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement