Wpis z mikrobloga

@quwer: wątki są po to, żeby się wykonywały równolegle (w uproszczeniu). Jak chcesz coś sekwencyjnie to robisz w jednym wątku, lub (zapewne to co chcesz osiągnąć) synchronizujesz te odpowiednio. Java ma od cholery mechanizmów synchronizacji: nie tylko proste mutexy, poczytaj trochę o tym, bo najwyraźniej zabrałeś się za coś o czym nie masz pojęcia.
  • Odpowiedz
@quwer: Programowanie wielowątkowe jest domyślnie niedeterministyczne. Nie możesz w programie zawrzeć jakiejkolwiek zależności na kolejności wykonywania operacji, gdyż ta jest niemożliwa do przewidzenia. Jeśli już musisz, to jak napisano Ci wyżej - synchronizacja.

Po drugie - zapomnij o jakichkolwiek zmiennych globalnych. To co na razie masz to wyścig i zachowanie programu jest w ogóle niezdefiniowane.
  • Odpowiedz
@quwer: Thread.wait() i Thread.notify() będą pewnie najprostsze. Generalnie, tak jak inni niezbyt uprzejmie napisali, sekwencjonowanie wątków w ten sposób nie ma większego sensu - chyba, że to ćwiczenie.
  • Odpowiedz
Doskonałe tłumaczenie milordzie, nie możesz, ale jak jednak musisz to możesz :D


@Vetinari: Inaczej: bez metod synchronizacji nie możesz zakładać jakiejkolwiek kolejności wykonania instrukcji :)
  • Odpowiedz