Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-03-2011, 15:42   #1
perporsof
Member
 
Iscritto dal: Sep 2008
Messaggi: 41
[java] System.getProperty() a volte non recepisce una variabile

ciao a tutti


sto usando System.setProPerty(), System.getProPerty() per scrivere il valore di una variabile e poi leggerlo.

Il tutto in un loop sulle righe di un file (legge una riga, elabora, scrive un valore con setProperty, poi successivamente legge il valore
con System.getProPerty() ed elabora ancora).

Va tutto bene, eccetto che per le prime tre righe, per cui sembra che System.setProPerty() non abbia effetto, e quindi System.getProPerty(), solo per queste tre righe, successivamente legge null, anzi da' proprio eccezione.

Sembra che ci sia un ritardo con cui il sistema agisce..

Ho trovato una soluzione mettendo un ritardo : Thread.sleep(800L) solo per la prima riga, pero' questo valore di ritardo sembra che dipenda dal server (su altri server deve essere minimo 2-3 secondi), e vorrei usare un'altra soluzione.

Chiedo cortesemente se qualcuno ha qualche idea.. grazie
perporsof è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2011, 15:03   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Il comportamento descritto è piuttosto bizzarro perchè set/get property si risolve nell'invocazione di un set/get su un'istanza di Properties, previa verifica dei permessi di sicurezza.

Quindi o capita una SecurityException o la proprietà è necessariamente impostata prima che il flusso di esecuzione passi all'enunciato successivo: se così non fosse il codice non rispetterebbe le norme di esecuzione del linguaggio di programmazione Java il che sarebbe strano per una classe che è parte del linguaggio stesso.

Il caso che proponi sarebbe invece tipico di programma con più flussi di esecuzione paralleli: l'accesso alle proprietà di sistema (cioè al contenuto del campo props della classe System) non è sincronizzato dunque se il thread a imposta una proprietà e il thread b la legge il thread b, a differenza dell'ipotesi del flusso unico, può ricevere tre risposte: null, il valore precedente all'ultimo, l'ultimo valore inserito (l'unico corretto).

Se sei nel caso del concorso, allora risolvi stabilendo un punto di sincronizzazione tra le scritture e le letture dei valori delle proprietà di sistema.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2011, 16:09   #3
perporsof
Member
 
Iscritto dal: Sep 2008
Messaggi: 41
grazie per la risposta, in effetti il tutto avviene tramite un thread; il numero dei thread pero' e' parametrizzato, ed e' UNO.
Inoltre sia il setproperty che il getproperty avvengono per ulteriore sicurezza tramite metodi synchronized, infatti il tutto alla fine funziona regolarmente,
ECCETTO che per i primi tre giri..

mettendo un Thread.sleep(2000L) solo una volta, dopo il primo giro, funziona tutto al 100%, pero' mi piacerebbe capire perche' c'e' questo ritardo iniziale da parte della virtual machine a recepire il valore di System.getproperty..

(i primi 3 giri in effetti, senza questo ritardo, danno un eccezione di nullpointerexception al momento della lettura, system.getproperty..)
perporsof è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2011, 16:37   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Questo è quello che fanno System.set e get property:

Codice:
...estratto dal sorgente java.lang.System.java
    private static void checkKey(String key) {
        if (key == null) throw new NullPointerException("key can't be null");
        if (key.equals("")) throw new IllegalArgumentException("key can't be empty");
    }

    public static String setProperty(String key, String value) {
	checkKey(key);
	SecurityManager sm = getSecurityManager();
	if (sm != null) sm.checkPermission(new PropertyPermission(key, SecurityConstants.PROPERTY_WRITE_ACTION));
	return (String) props.setProperty(key, value);
    }

    public static String getProperty(String key) {
	checkKey(key);
	SecurityManager sm = getSecurityManager();
	if (sm != null) sm.checkPropertyAccess(key);
	return props.getProperty(key);
    }
Non è materialmente possibile che un get successivo ad un set, per la stessa proprietà, manchi il bersaglio.

Sarebbe tra l'altro un bug talmente marchiano da essere stato rilevato almeno una volta mentre non ve n'è alcuna traccia.

Se il contesto in cui ti muovi non è concorrente allora l'unica possibilità è che il nome della proprietà impostata non coincida con il nome della proprietà di cui tenti la lettura.

Se puoi incolla il codice così vediamo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
SpaceX: un satellite ha fotografato il s...
36 idee regalo con offerte Amazon sotto ...
Sony assume il controllo dei Peanuts: Sn...
DJI Neo scende a 149€ su Amazon, in vers...
Scoperto un nuovo esopianeta che orbita ...
Blue Origin NS-37: successo per la missi...
Potrebbe essere stata rilevata una super...
La cometa interstellare 3I/ATLAS è...
Xiaomi 17 Ultra: l'autonomia non sarà un...
Il processo produttivo a 2 nm di TSMC è ...
L'atteso aggiornamento dei driver della ...
The Elder Scrolls VI nel 2029 e Fallout ...
Il Ryzen 7 9850X3D appare nel catalogo d...
Weekend pre natalizio Amazon, ecco tutte...
Prezzi giù su Oral-B iO: spazzolini elet...
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: 17:42.


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