Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-06-2008, 14:16   #1
m.distrutti
Member
 
L'Avatar di m.distrutti
 
Iscritto dal: Sep 2007
Messaggi: 207
[Java]misurazioni di intervalli in millisecondi

per progetto scolastico mi sono ritrovato a realizzare una simulazione di una sfida a rigori tra due squadre di calcio con la concurrency programming in Java

il progetto da me gia ultimato e funzionante va egregiamente con una pecca solo su un punto:

-il monitor Arbitro che gestisce due metodi sincronizzati (Tira per il calciatore e Para per il portiere) dovrebbe controllare due ritardi:

-il calciatore al momento del fischio deve avere un ritardo variabile prima del tiro, se questo ritardo supera i 10ms il tiro viene annullato

-il portiere al momento del fischio prima di buttarsi deve avere un ritardo minimo di 2ms

il ritardo sul calciatore ho pensato di introdurlo con una funzione matematica : (long)(16*Math.random()) che dovrebbe restituirmi un numero compreso tra 0 e 15

con il metodo System.currentTimeMillis() ho notato che mi arrotonda la cifra segnalandomi lo stesso risultato al momento della differenza tra i due momenti(prima del ritardo e dopo): o 0 o 15(0 se il ritardo è compreso tra 0 e piu o meno 7 , e 15 per valori compresi tra 7 e 15) (cercando in internet ho anche scoperto che e' dipendente dal sistema operativo) non consentendomi una misurazione precisa che cerco di effettuare prima di eseguire il ritardo variabile e dopo di questo >_>

in pratica come posso effettuare una misurazione più precisa?cercando in internet ho letto post relativi ad hardware dedicato o addirittura programmazione a basso livello per ovviare a questo problema ma e' ancora cosi?

tra l'altro per il ritardo ho introdotto una sleep pensando che siccome non viene rilasciato il lock sul processo che esegue il metodo sincronizzato(come invece sarebbe accaduto con una wait) sarei stato più preciso nella misurazione, ho aggiunto questa nota per sapere se sbaglio ed eventualmente cosa ihih

vi ringrazio per una eventuale risposta ^_^
Buona giornata a tutti

Ultima modifica di m.distrutti : 08-06-2008 alle 14:23.
m.distrutti è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2008, 14:57   #2
Josualba84
Junior Member
 
Iscritto dal: Jun 2008
Messaggi: 7
Ciao!!

Anche io sto facendo il tuo stesso progetto...e come te ho lo stesso problema...oltre a tanti altri...

posso chiederti una cosa??...

...Come hai gestito il portiere??
Josualba84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2008, 15:23   #3
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Una volta calcolato il ritardo ed effettuata la sleep con lo stesso sei perfettamente allineato con la richiesta..in quanto ai fini della valità del tiro basta effettuare un confronto(tra 2 int senza considerare le unita di misura) tra i 10ms stabiliti e il ritardo randomico introdotto.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2008, 15:35   #4
m.distrutti
Member
 
L'Avatar di m.distrutti
 
Iscritto dal: Sep 2007
Messaggi: 207
Quote:
Originariamente inviato da Josualba84 Guarda i messaggi
Ciao!!

Anche io sto facendo il tuo stesso progetto...e come te ho lo stesso problema...oltre a tanti altri...

posso chiederti una cosa??...

...Come hai gestito il portiere??
scusa il ritardo della risposta

certo non e' stato proprio un metodo elegante ,l'ho tirato giu velocemente dato che non ho molto tempo da dedicarci >_>,

in pratica ho creato due flag

di default i portieri nella mia prima implementazione si buttavano concorrenzialmente nel metodo Para sincrono del monitor e rimanevano in wait affinchè l'arbitro fischiava eseguendo una notifyAll su di essi e dopo aver controllato che la squadra che deve parare sia quella di appartenenza eseguo la parata...

il portiere non deve pero fossilizzarsi su un metodo soltanto perchè dovra waittarsi sia in para che in tira aspettando il fischio dell'arbitro , considera cmq che la squadra iniziale e' casuale percio uno all'inizio si waittera in para e l'altro in tira e si alterneranno

aggiungendo i flag hannoParato e HannoTirato li faccio uscire dal metodo corrente per spostarsi nell'altro

...ora la spiegazione e' un po contorta, se mi lasci il contatto messanger magari per pm ti faccio vedere tutto^_^
m.distrutti è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2008, 17:39   #5
Josualba84
Junior Member
 
Iscritto dal: Jun 2008
Messaggi: 7
Ok...ti ringrazio...ti ho inviato un messaggio privato con il mio contatto...

Grazie!!
Josualba84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2008, 19:58   #6
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
System.nanoTime() l'hai già provato?
dovrebbe avere una precisione di circa 1ms su xp se non sbaglio...
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2008, 20:07   #7
m.distrutti
Member
 
L'Avatar di m.distrutti
 
Iscritto dal: Sep 2007
Messaggi: 207
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
System.nanoTime() l'hai già provato?
dovrebbe avere una precisione di circa 1ms su xp se non sbaglio...
sisi alla fine ho guardato quella funzione nell'api e dopo averla provata da una precisazione più dettagliata ^^

grazie mille per le risposte
m.distrutti è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
HONOR pubblica The Sea Between Us, un co...
L'Olanda punta su NixOS e open source pe...
OPPO Find X10 Pro Max, il flagship con t...
Gli smartphone Samsung potrebbero avere ...
GeForce Now arriverà sui Googlebo...
Opus 5.5 e GPT-6 Sol nello stesso pomeri...
Weekend Amazon, le prime 5 offerte sono ...
Mini Compressore a 21,84€: gonfia le gom...
Gemini si aggiorna, ora può conne...
Da 32 a 65 pollici: ecco le TV più...
Xiaomi Redmi Note 17 a 269€: ecco perch&...
ASUS avverte i clienti: accesso non auto...
Già record di vendite su Amazon p...
Eni mette un tetto ai prezzi dei carbura...
BYD Seagull (Dolphin Surf), l'elettrica ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:51.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v