Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Thread scrittura file

  1. #1

    Thread scrittura file

    Ciao, ho un dubbio sulla scrittura su file da parte di piu thread.

    Ho un processo in cui ho fatto partire piu thread.
    Ogni thread si istanzia un ogetto che consente di scrivere su file (è possibile settare directory e nome del file)
    Se due o piu thread settano l'istanza dell'ogetto allo stesso modo,cioè scrivono sullo stesso file, c'è concorrenza.
    Io non ho gestito scritture concorrenti, non condividendo i thread la stessa istanza della classe che scrive su file

    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ma non hai detto qual è il problema... cioè, cosa vuoi ottenere?


    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

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

    Re: Thread scrittura file

    Originariamente inviato da higuita81
    Ogni thread si istanzia un ogetto che consente di scrivere su file (è possibile settare directory e nome del file)
    Non hai specificato quali classe di I/O stai usando .... ma non è fondamentale.

    Originariamente inviato da higuita81
    Se due o piu thread settano l'istanza dell'ogetto allo stesso modo,cioè scrivono sullo stesso file, c'è concorrenza.
    Io non ho gestito scritture concorrenti, non condividendo i thread la stessa istanza della classe che scrive su file
    Qui la questione non è se più thread usano lo stesso identico oggetto es. un FileOutputStream (cosa che sarebbe già sbagliata di per sé visto che le classi di I/O non sono thread safe) oppure se ogni thread ha il suo oggetto distinto dagli altri.

    Se da più parti (più thread o, a livello più generale, più applicazioni diverse) si cerca di scrivere sullo stesso file, senza alcuna gestione di una "mutua esclusione" (lock sul file), la cosa migliore che può succedere è una gran bella corruzione dei dati .... ossia nessuno saprebbe dire come le scritture si "intersecano" tra di loro ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    ciao, vorrei capire se c'è l'ipotesi che ci siano problemi di scrittura sul file, e mi sembra di aver capito di si.
    Io mi ero convinto che era il sistema operativo a gestire questo problema


    La classe che uso FileOutputStream writer = new FileOutputStream(new File(this.getOutputPath()+getFileName(object)),tru e);

    viene istanziato un oggetto da pgni thread

    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.