Controllo thread

di il
50 risposte

50 Risposte - Pagina 4

  • Re: Controllo thread

    Bhe te hai scritto return; e basta, quindi cosa ritorna?
    Cioè l'uso normale del return, lo conosco, so come funziona. Ma quel return senza parametri, non l'ho mai usato.
    Se mi dici "return value" allora ok so cosa vuol dire. Ma se mi dici solo "return;" presumo interrompa e basta?
  • Re: Controllo thread

    KuroKami69 ha scritto:


    Bhe te hai scritto return; e basta, quindi cosa ritorna?
    Cioè l'uso normale del return, lo conosco, so come funziona. Ma quel return senza parametri, non l'ho mai usato.
    Il tuo minerDispatch:

    private static void minerDispatch(Socket socket) throws IOException

    Siccome ritorna void, allora per usare il return devi per forza usarlo senza un valore:

    return;

    KuroKami69 ha scritto:


    presumo interrompa e basta?
    Sì, appunto.


    return; ? vuol dire: termina il metodo, ritorna al chiamante
    return valore; ? vuol dire: termina il metodo, ritorna al chiamante E restituisci un valore al chiamante.

    Guarda che è veramente tutto qui, non c'è nulla di chissà che da capire ...
  • Re: Controllo thread

    Ah bene allora grazie!
  • Re: Controllo thread

    Ciao @andbin.
    dopo un paio di mesi, circa, son tornato su questo codice, desideroso di sistemarlo.
    onestamente non mi son venute molte idee basate sui tuoi suggerimenti.
    prendendo in considerazione l'idea che il minerDispatch ritornu true o false, mi verrebbe da mettere un if dentro al while(true), se minerdispatch ritorna true allora crea un minatore, altrimenti viene mandato un wait tramite un metodo che, esempio, potrei chiamare minerWait.
    altrimenti la prima alternativa che mi era venuta in mente, mettere un boolean dentro al minerdispatch (che ha comunque il compito di mandare un wait in caso tutti i minatori son occupati) e mandare il wait solo se la variabile di controllo è false.
    oltre a questo non mi viene in mente nulla!
  • Re: Controllo thread

    KuroKami69 ha scritto:


    onestamente non mi son venute molte idee basate sui tuoi suggerimenti.
    prendendo in considerazione l'idea che il minerDispatch ritornu true o false, mi verrebbe da mettere un if dentro al while(true), se minerdispatch ritorna true allora crea un minatore, altrimenti viene mandato un wait tramite un metodo che, esempio, potrei chiamare minerWait.
    Dovrei andarmi a rileggere buona parte della discussione, ma per quanto posso dire ora:

    Se minerDispatch ha anche il compito di inviare il wait, allora:
    - può avere void come ritorno
    - quindi appena trovi uno slot libero, crei/avvii il thread e poi fai un return; (senza valore, ovviamente)
    - e al fondo del metodo, DOPO il for, invii il wait

    Se minerDispatch NON ha anche il compito di inviare il wait, allora:
    - può avere boolean come ritorno
    - quindi appena trovi uno slot libero, crei/avvii il thread e poi fai un return true; (true = creato)
    - e al fondo del metodo, DOPO il for, fai un return false; (thread non creato)
    - il chiamante deciderà cosa fare, ragionevolmente se false farà l'invio del wait
  • Re: Controllo thread

    Che sostanzialmente è quanto ho pensato io quindi. e allora siamo a posto! grazie!
Devi accedere o registrarti per scrivere nel forum
50 risposte