Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Threads

  1. #1

    Threads

    Salve a tutti,
    Ho una domandina sui threads:
    Ho il thread 1(Programma Main) che chiama come istanza di una classe un'altro Thread.
    Dato che il secondo thread è un listener, io vorrei che quando il secondo thread riceve qualche informazione, esso fermi il thread 1(quello che lo ha invocato).
    Qui viene la domanda:
    Il Thread 2 come può mette in wait il Thread 1 se non ha la istanza di esso?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Threads

    Originariamente inviato da leandro.bravo
    Dato che il secondo thread è un listener
    Ma che vuol dire?! (non vuol dire nulla detto così)

    Originariamente inviato da leandro.bravo
    io vorrei che quando il secondo thread riceve qualche informazione, esso fermi il thread 1(quello che lo ha invocato).
    Terminare o sospendere un thread non è una cosa che si può fare banalmente così ... su due piedi. I metodi stop()/suspend() di Thread sono deprecati e non vanno più usati. La terminazione/sospensione va fatta in modo "cooperativo". E questo vuol dire che il thread che deve poter essere terminato/sospeso deve fare "qualcosa" per determinare se fare una di queste due azioni. E quel qualcosa è tipicamente il test di un qualche "stato" fatto di tanto in tanto.
    E se questo è fattibile o meno e come, dipende sopratutto dal flusso di esecuzione e dalle operazioni che il thread compie.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Infatti non sono stato chiaro.
    A me interessa mettere in sleep il thread Main da un thread secondario istanziato dal Main.
    Più chiaro di cosi non saprei. Ho fatto una prova inserendo in una variabile di classe il riferimento al thread main nel thread 2, ma quando provo a darli uno sleep mi Nina il Thread 2 non il thread Main.
    Stranamente se voglio stoppare il Thread main della stessa maniera con qui faccio lo sleep, ferma benissimo il thread Main.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da leandro.bravo
    A me interessa mettere in sleep il thread Main da un thread secondario istanziato dal Main.
    Ho fatto una prova inserendo in una variabile di classe il riferimento al thread main nel thread 2, ma quando provo a darli uno sleep mi Nina il Thread 2 non il thread Main.
    Se noti, sleep() di Thread è un metodo statico e il senso mi pare ovvio: vuol dire che non agisce su una istanza specifica (cioè non puoi chiedere che un altro thread vada in sleep) ma fa andare in sleep solo il thread "corrente" (quello in cui lo stai invocando).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.