Advertisement
Guest User

klausur aufgabe 10 Threads

a guest
Jun 26th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. public class Main {
  2.  
  3. private static Stack s = new Stack();
  4.  
  5. /*
  6. * Frage war was auf der Konsole ausgegeben wird wenn man die Threads gleichzeitig laufen lässt.
  7. * Frage b) war was passiert wenn die Klasse Stack threadsafe ist, mit 3 auswahlmöglichkeiten
  8. * 0-999
  9. * 999-0
  10. * 1000 Verschiedene aber nicht in Reihenfolge
  11. * Frage c) war was passiert wenn die Klasse Stack nicht threadsafe ist, mit 3 auswahlmöglichkeiten
  12. * mehr als 1000
  13. * weniger als 1000
  14. * Program hängt sich auf (quasi deadlock, aber nich so gennant worden)
  15. *
  16. *
  17. public static void main(String[] args) {
  18. //Start selbst geschriebener Code
  19. new Thread() {
  20. public void run() {
  21. m1();
  22. }
  23. }.start();
  24. new Thread() {
  25. public void run() {
  26. m2();
  27. }
  28. }.start();
  29. }
  30. //Ende selbst geschriebener Code
  31.  
  32. //Hoffe die Methoden waren in der Klausur gleich, bin aber relativ sicher
  33. public static void m1() {
  34. for (int i = 0; i < 1000; i++) {
  35. s.add(i);
  36. }
  37. }
  38.  
  39. public static void m2() {
  40. for (int i = 0; i < 1000; i++) {
  41. while (s.isEmpty()) {} // leere Schleife als Wartebedingung
  42. System.out.print(s.pop() + " ");
  43. }
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement