Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Java] Chiarimento sui Thread

    Salve ragazzi, mi dispiace sfruttarvi sempre per risolvere stupidi problemi ma purtroppo non riesco a dare il mio contributo al forum, anche perché ho conoscenze piuttosto limitate.
    Comunque sia sto facendo un programmino piuttosto semplice dove al premere del pulsante start viene effettuata una ricerca.. Il tutto è Multi-Threaded.. il problema è che vorrei poter effettuare diverse ricerche quante volte mi pare (una dopo l'altra ovviamente) sempre sfruttando i thread di partenza: ho guardato le API e, dopo aver scartato in partenza la join, ho scartato anche metodi come suspend(), stop() e compagnia bella perché deprecati.. Dunque mi trovo di fronte ad un muro, esattamente così ---> e non vorrei continuare ad arrampicarmi sugli specchi, allo stesso modo ---> : come faccio a rimettere i thread in condizione di ricevere un altro start()??
    Grazie mille dell'attenzione in anticipo ^^

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

    Re: [Java] Chiarimento sui Thread

    Originariamente inviato da xXAndreaXx
    come faccio a rimettere i thread in condizione di ricevere un altro start()??
    Non è perfettamente chiaro cosa vuoi fare/ottenere nella tua applicazione ma su quest'ultima tua domanda non ci sono problemi a rispondere.
    Una volta che su un oggetto Thread è stato invocato start(), anche se il "flusso" di esecuzione terminasse (cioè il thread entra nello stato di "dead", morto), NON puoi più riavviarlo.
    Detto in altro modo: start() lo si può invocare 1 sola volta su un Thread.

    E ad una domanda "come si riavvia?" la risposta è: istanziando un nuovo oggetto Thread.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    no è perché in teoria mi viene richiesto di non creare nuovi thread (altrimenti il problema non me lo sarei nemmeno posto ) ma ad ogni ricerca riutilizzare sempre gli stessi; ma se io implementassi il metodo run() con delle istruzioni che portano ad un loop infinito che svolge sempre questa mia ricerca e il tutto è gestito da un semaforo che continuamente blocca e fa ripartire il loop solo e soltanto quando ci sono nuove informazioni disponibili potrebbe funzionare? in questo modo i miei thread non dovrebbero terminare mai il proprio flusso di controllo fino a che io non chiudo completamente il programma...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da xXAndreaXx
    se io implementassi il metodo run() con delle istruzioni che portano ad un loop infinito che svolge sempre questa mia ricerca e il tutto è gestito da un semaforo che continuamente blocca e fa ripartire il loop solo e soltanto quando ci sono nuove informazioni disponibili potrebbe funzionare?
    Sì, concettualmente è sensato e funziona di certo, se implementato in modo appropriato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    perfetto, grazie mille della consulenza ^^ a presto

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 © 2025 vBulletin Solutions, Inc. All rights reserved.