Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [C] Creare un cronometro

    Ciao, è la prima volta che scrivo in questo forum e volevi chiedervi un aiuto.
    Sto realizzando un progetto in C per l università, praticamente devo simulare una stampante di rete usando la gestione dei processi, ogni documento da stampare è modellato come un processo indipendente tramite una fork().
    Adesso viene il punto che mi mette un'pò in crisi, per ogni documento devo stampare il tempo di completamento, la mia idea era di creare un nuovo processo il quale fungerà da cronometro per il sistema così alla creazione di un documento prendo il valore di creazione e quando il documento ha finito prendo il valore attuale, così sottraendolo al valore precedente avrei il tempo di completamento.
    Secondo voi è una soluzione possibile oppure potrei usare qualche funzione ad esempio della libreria time.h?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    xche creare un processo separato?
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Quoto linoma, non ha nessun senso usare un processo solo per un cronometro.

    Cerca su google e trovi sicuramente, sono argomenti discussi e stradiscussi.

    Ciao
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  4. #4
    pensavo in un processo in modo da renderlo indipendente, quel processo avrebbe solo il compito di incrementare una variabile. In questo modo non interferirebbe con la normale esecuzione del resto del programma.

  5. #5
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Basta prendere il tempo prima e dopo la stampa,mi accodo ai quotanti

  6. #6
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Dovresti in qualche modo sincronizzare il tutto visto che al termine di un job dovresti leggere il tempo.
    Per gli Spartani e Sparta usa spartan Il mio github

  7. #7
    Ah ok, quindi ad esempio tramite time.h usando una funzione simile alla getCurrentTime di Java prendere i valori alla creazione e poi alla terminazione?

  8. #8
    Grazie a tutti, avevate ragione in realtà era davvero una banalità bastava giocare un pò con time.h

    Semplicemente ho creato le due variabile inizio e fine e poi con difftime(fine, inizio) ho proprio quello di cui avevo bisogno!

  9. #9
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Bhe insomma devi riportarci nei sorgenti
    Per gli Spartani e Sparta usa spartan Il mio github

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475
    Originariamente inviato da alessandro83
    pensavo in un processo in modo da renderlo indipendente, quel processo avrebbe solo il compito di incrementare una variabile. In questo modo non interferirebbe con la normale esecuzione del resto del programma.
    Vorrei aggiungere che non può funzionare: a prescindere dal fatto che non puoi sapere quanto tempo ci vuole per incrementare una variabile (varia da macchina a macchina) per risalire ai secondi, ci si mette di mezzo lo scheduler.

    A seconda di cosa sta girando sul tuo sistema operativo, il processo cronometro potrebbe non girare mai o girare praticamente sempre (ricorda che non può essere in esecuzione in contemporanea con quello di stampa) e quindi ad ogni run del programma otterresti risultati imprevedibili e diversissimi tra loro, e in definitiva inutili.
    "Let him who has understanding reckon the number of the beast, for it is a human number.
    Its number is rw-rw-rw-."

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.