Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    75

    [JAVA SWING] Risorsa condivisa

    Buongiorno,
    vorrei sapere se è possibile avere un thread all'interno di una gui, tipo swingworker diciamo, che parte contestualmente al frame principale di una GUI e che si mette in attesa su una certa risorsa condivisa con un altra porzione di codice esterna alla gui, quando nella risorsa condivisa vengono scritti alcuni dati vorrei fare la notify al thread in questione che sarà in attesa, tale thread si occuperà quindi di mettere nell'edt determinate azioni da compiere sulla gui, ad esempio disegnare componenti, mostrare testo o altro...

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

    Re: [JAVA SWING] Risorsa condivisa

    Originariamente inviato da gatsu85
    vorrei sapere se è possibile avere un thread all'interno di una gui, tipo swingworker diciamo, che parte contestualmente al frame principale di una GUI e che si mette in attesa su una certa risorsa condivisa con un altra porzione di codice esterna alla gui, quando nella risorsa condivisa vengono scritti alcuni dati vorrei fare la notify al thread in questione che sarà in attesa, tale thread si occuperà quindi di mettere nell'edt determinate azioni da compiere sulla gui, ad esempio disegnare componenti, mostrare testo o altro...
    Per come l'hai descritto, sebbene a grandi linee, mi sembra che sia perfettamente possibile oltre che sensato.

    Resterebbe solo da valutare cosa è la risorsa condivisa e quali/quanti dati devono essere passati. In sostanza c'è da vedere se per il passaggio sincronizzato e bloccante vuoi realizzare una tua classe che sfrutta il lock intrinseco e la condition queue (wait/notify) di un oggetto oppure se affidarti a classi già fatte del framework come ad esempio SynchronousQueue, LinkedBlockingQueue o altre (da Java 5).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    75

    Re: Re: [JAVA SWING] Risorsa condivisa

    Originariamente inviato da andbin
    Per come l'hai descritto, sebbene a grandi linee, mi sembra che sia perfettamente possibile oltre che sensato.

    Resterebbe solo da valutare cosa è la risorsa condivisa e quali/quanti dati devono essere passati. In sostanza c'è da vedere se per il passaggio sincronizzato e bloccante vuoi realizzare una tua classe che sfrutta il lock intrinseco e la condition queue (wait/notify) di un oggetto oppure se affidarti a classi già fatte del framework come ad esempio SynchronousQueue, LinkedBlockingQueue o altre (da Java 5).
    Grazie mille per la risposta, per il passaggio avrei bisogno di realizzare una mia classe che riceve dati da un altro componente software, quando arrivano tali dati li metto in delle strutture, che so ad esempio un arraylist di stringhe, e li passo al thread che era in attesa tramite notify (almeno questo è quello che avrei in mente), il thread che era in attesa quindi prende questi dati, nell'esempio che ho citato l'arraylist di stringhee ad esempio per ogni stringa contenuta nell'arraylist crea un Jtextfield e lo mostra nella finestra principale. Più o meno quello che ho in mente è una cosa del genere, è fattibile? L'unica cosa che non so bene come fare è: come faccio partire il thread che dovrà ricevere i dati insieme alla GUI?

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.