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

    java thread lista oggetti da aggiornare

    Ciao a tutti.
    Ho un programma che ha un thread che effettua un polling su server ogni minuto per aggiornare dei componenti.
    Questo thread chiama in successione dei metodi di aggiornamento di ogni oggetto che si collegano al server e scaricano. Il problema è che questi oggetti si devono aggiornare solo in determinate condizioni. Quindi nel thread ho messo una serie di if per lanciare la chiamata o meno.

    Ora, questa soluzione mi fa schifo, vorrei fare qualcosa di più intelligente. Dato che è l'oggetto che sa se deve essere aggiornato o meno, è lui che dice al thread aggiornami e non il thread che controlla le condizioni per cui dovrebbe essere aggiornato.

    In parole povere vorrei far sottoscrivere gli oggetti che necessitano di aggiornamento ad una sorta di coda e far controllare al thread questa coda in modo che quest'ultimo deve solo controllare se c'è l'oggetto o meno e quindi aggiornarlo altrimenti non lo sa nemmeno.

    Spero di essere stato chiaro...

    Avete idee?
    Ciao grazie!

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Includi le condizioni nell'oggetto stesso, nel thread usi una lista in cui inserisci i riferimenti degli oggetti che devono essere aggiornati, ogni quando_ti_serve scorri la lista lanciando il metodo di controllo/aggiornamento sull'oggetto. Se ti serve che venga aggiornato un'altro oggetto lo aggiungi alla lista, se non ti serve più che venga aggiornato lo rimuovi.

    Edit:
    1) questo è un'approccio generale
    2) esiste una sezione dedicata a Java
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Ciao grazie per la risposta.
    Si infatti l' idea è quella di popolare una lista ma di oggetti instanziati che implementano un metodo di una classe astratta.
    In pratica creo una classe X con un metodo Y.
    Quando un oggetto deve registrarsi per essere aggiornato, popolo una lista passandogli una istanza della classe X con l'implementazione del metodo Y dove ci metto quello che deve fare per effettuare là aggiornamento (chiamata, callback eccc...).
    Il thread dovrà quindi scorrere la lista e per ogni istanza di X che trova chiamare il metodo Y...

    1) si infatti ma era l'aiuto che mi serviva, grazie.
    2) ah... pensavo fosse questa, segnalo


    Grazie!

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.