Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Ora corrente in millisecondi
Forum - C/C++ - Ora corrente in millisecondi - Pagina 3

Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 20:12
Domenica, 21/03/2010

mah...

quel codice è così così, innanzitutto gli anni bisestili non sono solo ogni 4 anni:

http://it.wikipedia.org/wiki/Anni_bisestili

oltre al fatto che non capisco l'utilità di quel codice nè una sua qualsiasi applicazione.

PM Quote
Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 20:22
Domenica, 21/03/2010
L'utilità??? Ho bisogno di ottenere un riferimento a un dato momento in maniera univoca e questo per un applicazione multithreading basata sul controllo dei momenti è fondamentale e comunque se il codice è così così potresti anche darmi una mano per miglioralo

Ultima modifica effettuata da robrock80 il 21/03/2010 alle 20:27
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:33
Domenica, 21/03/2010
Ho scritto tante applicazioni multithreaded ma non ho avuto mai necessità di questo tipo ... In effetti, non capisco a cosa ti possa servire un riferimento di tempo, sicuramente molto impreciso rispetto all'esecuzione di codice in un sistema moderno ...

Secondo me, stai sbagliando approccio ... per la sincronizzazione di thread, esistono specifici meccanismi a livello di sistema operativo ... dipende poi da qual è "esattamente" il problema ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 20:45
Domenica, 21/03/2010
Si lo sò, ma seccome dovevo gestire un timeout ho la necessita di calcolarmi il tempo in millisecondi in modo che il thread sappia se è trascorso o meno, cosa che non avrei potuto comunque fare con un mutex o un semaforo. E visto che dovevo cintearmi a crerare una funzione per calcolare il tempo in millisecondi mi sono detto perchè non scriverne una simile a System.currentTimeMillis di java?

P.S.: fra poco ricorreggo codice riguardo gli anni bisestili


... Ok, funzione corretta

Ultima modifica effettuata da robrock80 il 21/03/2010 alle 20:56
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:25
Domenica, 21/03/2010
Testo quotato

Postato originariamente da robrock80:

Si lo sò, ma seccome dovevo gestire un timeout ho la necessita di calcolarmi il tempo in millisecondi in modo che il thread sappia se è trascorso o meno



E cosa c'entrano gli anni, i mesi, i giorni ... se devi solo gestire timeout di millisecondi?

E in che senso (spiega meglio) devi gestire i timeout?

Gli oggetti di sincronizzazione hanno la possibilità di gestire automaticamente dei timeout ...

Spiega meglio, perchè tu non stai sicuramente seguendo la strada giusta ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 21:37
Domenica, 21/03/2010
Ok... Praticamente stò creando un gestore di shell remota e siccome la funzione recv per ricevere dal socket molto spesso si blocca ho dovuto far partire un thread che mi riceve il flusso dati mentre l'applicazione controlla se il thread si sia bloccato: in quest'ultimo caso sblocca il thread dopo un certo timeout. Se mi dai l'indirizzo mail ti invio il codice perchè orammai ho scritto veramente molto

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:43
Domenica, 21/03/2010
Il timeout per la funzione recv si imposta tramite la funzione

setsockopt

passando la costante

SO_RCVTIMEO

e la struttura apposita per indicare il tempo. Trovi tutto nella documentazione della funzione.

Come ti dicevo, devi usare la corretta via per risolvere i problemi, non te ne devi inventare altre che hanno poco senso ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 21:47
Domenica, 21/03/2010
Purtroppo avevo già postato questo problema, ma nessuno mi ha risposto, e io sono neanche 3 settimane che programmo in C: ho cercato nella rete ma non sempre è facile trovare le parole chiave per esprimere ciò che si cerca in inglese, comunque ora provo come mi hai detto te (anche se orammai ho completato e debuggato il gestore di shell remota)

Ultima modifica effettuata da robrock80 il 21/03/2010 alle 21:48
PM Quote
Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo