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

    thread lettura file

    Salve,vorrei fare un programma in cui dei thread leggono da un file delle righe diverse per poi elaborarle. Non so come impostare l'esercizio:

    precisamente non so come fare a dare in pasto un tot di righe ad ogni thread ??...

  2. #2

    Re: thread lettura file

    Originariamente inviato da valeriAsus
    Salve,vorrei fare un programma in cui dei thread leggono da un file delle righe diverse per poi elaborarle. Non so come impostare l'esercizio:

    precisamente non so come fare a dare in pasto un tot di righe ad ogni thread ??...
    Premesso che tu conosca come funzionano i Thread e come leggere un file:
    in generale, potresti definire una classe che si occupa dell'accesso al file (per intero e/o per parti), oltre alla definizione della logica del processo.
    Poi, a seconda dell'implementazione, decidi se renderla thread-safe oppure no.

    Ad esempio, se decidi di caricare tutto il contenuto del file in memoria (quindi accedi al file una sola volta), rendendolo read-only, non è strettamente necessario sincronizzare i vari processi, ammesso che tu non abbia particolari esigenze.

    In alternativa, potresti non separare la logica di accesso al file dalla logica del processo, però devi sempre considerare possibili scenari di sincronizzazione.

  3. #3
    Guarda non avendo molta dimistichezza sia con i thread che con i file ,non saprei fare quanto hai detto :

    potresti definire una classe che si occupa dell'accesso al file (per intero e/o per parti), oltre alla definizione della logica del processo.

    cioè come la dovrei impostare questa classe ?parallelizzando diciamo il lavoro, senza copiare tutto il file in memoria

    ps

  4. #4
    Originariamente inviato da valeriAsus
    cioè come la dovrei impostare questa classe ?parallelizzando diciamo il lavoro, senza copiare tutto il file in memoria
    Per definire il tuo processo implementi java.lang.Runnable oppure estendi java.lang.Thread.
    Indipendentemente dalla scelta, devi fare l'override (ridefinire) del metodo run, nel quale vai appunto a definire la logica del tuo processo (ottenere n righe del file ed elaborarle).

    Per quanto riguarda la lettura del file:
    non devi per forza definire una classe a parte per accedere al file visto che, come già detto, potresti anche sviluppare tutta la logica nel metodo run. L'introduzione di tale classe andrebbe a migliorare, ad esempio, la leggibilità del tuo codice e questo non credo sia uno degli scopi del tuo esercizio.

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.