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

    [Java] Thread e scambio di dati

    Devo far passare dei dati da una classe ad un altra tramite thread. Come posso dare. Devo creare a quanto ho capito, due thread, di cui uno trasmette e uno riceve, ma come faccio a sfruttare la classe sorgente dei dati e a passarli a quella ricevente? Grazie a tutti
    "fate bene l'ordinario in modo straordinario!"

  2. #2
    Utente di HTML.it L'avatar di zaion
    Registrato dal
    Mar 2002
    Messaggi
    258
    in che senso fra due thread?

    cmq penso che basti usare delle variabili globali
    bye bye

  3. #3
    allora! un thread deve pilotare una classe che invia dei dati ad un altra che li riceve! Uno invia, ed uno e in attesa. Per capire meglio. Alla pressione di un tasto, il primo thread inizia ad inviare dati ogni 5 sec al thread ricevente che poi li passa alla classe in questione che li riceve! Spero di essere stato chiaro
    "fate bene l'ordinario in modo straordinario!"

  4. #4
    O crei 1 timer task che chiama funzioni dell'altro thread che a sua volta sfrutta i metodi della classe x passarle i dati oppure usi i socket. Oppure non ho capito nulla.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Hai pensato ad utilizzare una terza classe che ti fa da tramite fra il thread inviante ed il thread ricevente? Intendo una classe che fa da buffer fra i due thread (come suggerito, anche, dal tutorial della Sun riguardo i thread: Consumatore e Produttore).

    Il thread produttore (quello che invia i dati) invoca un metodo synchronized della classe che fa da buffer (la quale memorizza il dato in un buffer, appunto).

    Il thread consumatore (quello che legge i dati) invoca un altro metodo synchronized della classe che fa da buffer per leggerne il contenuto.

    Non è difficile: prova a dare un'occhiata qui.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    grazie! nn è stato semplice, ma sono riuscito a passare un array di stringhe. Ancora una cosa però. Oltre all'array, vorrei passare un file di testo (File f), magari specificando nel costruttore
    Producer p1 = new Producer(c, array, f); dove f è un file. Che faccio? Grazie ancora cmq!
    "fate bene l'ordinario in modo straordinario!"

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.