Tworzenie obiektów o jednym imieniu w for

Tworzenie obiektów o jednym imieniu w for
Władyslaw Parchomenko
Władyslaw Parchomenko
  • Rejestracja:ponad 6 lat
  • Ostatnio:8 miesięcy
  • Postów:63
0

Cześć wszystkim.
Pogubiłem się w bardzo podstawowej sprawie, w tym forze tworzymy dwa razy obiekt o imieniu t. Czy to znaczy, że obiekt pod indeksem [0] umiera, a jego miejsce zajmuje obiekt pod indeksem [1]?

Kopiuj
  for(int i = 0; i < 2; i++){
            Thread t = new Thread(new MyThread(numClass));
            t.setName("Thread " + i);
            t.start();
}

Dzięki za pomoc.

jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4709
9

Wszystkie obiekty muszą umrzeć.
Jednakowoż, życie obiektu i życie referencji do niego to nie to samo.
t to referencja (co nazwałeś imieniem). To bardziej etykietka. Obiekt nawet nie ma pojęcia jak go nazywają!
Jeden obiekt może być widoczny pod wieloma nazwami.
Jeśli jednak na obiekt nie wskazują żadne referencje to wtedy kostucha wyciąga po niego swe plugawe ręce i myk - wywala z RAMu.
Dla większego zamotania w twoim kodzie obiekty to wątki. Wątki jako obiekty żyją (dodatkowo) też przynajmniej na tyle długo, żeby wykonać swój kod ( ten w metodzie run). (Uproszczenie - są jeszcze demony).
Przykład bez wątków i pętli.

Kopiuj
String prezes = "Krzysztof";
String księgowy = "Mirosław";
String czesław = "Marek";
//pyk i zmiany stanowisk
preses = księgowy;
księgowy = czesław;
/*mimo, że podstawiliśmy pod ksiegowego kogo innego(Marek), to Mirosław żyje - jako prezes. Marek za to jest widoczny jako ksiegowy... i nadal jest czesław- em. 
Tylko Krzysztof ma pecha. Nikt go już nie potrzebuje. Nie ma jak do niego dotrzeć przez referencje. Czeka na śmierć smutno, cicho, na stercie.*/


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 6x, ostatnio: jarekr000000
vpiotr
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
1

Jesli w przykladzie zastosujesz Long zamiast Thread to odpowiedz brzmi:

  • tak, ewentualnie umieraja przy nastepnej kolekcji pamieci

Jesli nie pokazesz swojej klasy MyThread to odpowiedz brzmi:

  • nigdy nie wiadomo
  • najdalej do konca dzialania jvmki (kill -9)

https://www.baeldung.com/java-thread-stop

edytowany 1x, ostatnio: vpiotr

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.