Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-11-2006, 12:07   #1
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
[JAVA] Lock and condition

Sono i metodi di sincronizzazione della tiger, chi me li spiega con qualche esempietto
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 14:51   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Tra (ReentrantLock,Condition) e (synchronized/wait-notify) la differenza più notevole è quella sintattica: per sincronizzare con java.util.concurrent vedi scrivere molta più roba.

L'altra è strutturale: ReentrantLock e Condition "circolano", nel senso che possono provenire da una parte del sistema diversa da quella che li usa. Gli altri due, synchronized e wait-notify, non passano da una parte all'altra in sè ma possono girovagare insieme all'oggetto che fa da monitor.

Ciò che si è fatto con ReentrantLock e Condition è stato semplicemente prendere alcune proprietà di ogni oggetto Java precedentemente espresse attraverso una sintassi ad hoc del linguaggio e travasarle in metodi ad hoc di oggetti ad hoc.

Così se prima:

Codice:
private final Object MONITOR = new Object();
public void metodo() {
    synchronized(MONITOR) {//chiudi
        bubbole();
    }//apri
}
ora:

Codice:
private final Lock MONITOR = new ReentrantLock();
public void metodo() {
    try {
        MONITOR.lock();//chiudi
        bubbole();
    } finally {
        MONITOR.unlock();//apri
    }
}
Se prima:

Codice:
private final Object MONITOR = new Object();

public Resource getResource() {
    synchronized(MONITOR) {
        try {
            while(resources.size() == 0) {
                wait();
            }
        } catch(InterruptedException ex) {
            return null;
        }
    }
}

private void createResource() {
    synchronized(MONITOR) {
        resources.put(some);
        notifyAll();
    }
}
ora:

Codice:
private final Lock MONITOR = new ReentrantLock();
private Condition storeCondition = MONITOR.newCondition();

public Resource getResource() {
    try {
        MONITOR.lock();
        try {
            while(resources.size() == 0) {
                storeCondition.await();
            }
        } catch(InterruptedException ex) {
            return null;
        }
    } finally {
        MONITOR.unlock();
    }
}

private void createResource() {
    try {
        MONITOR.lock();
        resources.put(some);
        storeCondition.signalAll();
    } finally {
        MONITOR.unlock();
    }
}
Ci sono poi alcuni ricami. Ad esempio, rispetto alla sincronizzazione, un ReentrantLock può vedere interrotto il suo tentativo di acquisire il lock se anzichè MONITOR.lock() usi MONITOR.lockInterruptibly(). Rispetto al wait, Condition ha la possibilità di attendere a prescindere da un'eventuale interruzione del Thread. Sono due necessità comuni che prima richiedevano un gruppo di istruzioni e ora sono incapsulate in due comportamenti unitari.

Niente per cui andare in giro strappandosi i capelli e gridando "oh gesummaria l'ha fatto che bello che bello!" ma, sai, son quelle piccole comodità che uno apprezza.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 15:01   #3
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
supponevo che mi avresti risposto tu

Ok, credo di avere capito, casomai ti chiamo
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Dongfeng sfida la NATO: navi dalla Cina ...
5G Standalone per il mondo marittimo: Er...
Nova Lake-S: configurazioni fino a 52 co...
Baxi presenta la pompa di calore Alya E ...
PC ASUS e Acer vietati in Germania: il t...
Stellantis rilancia il diesel in Europa:...
Truffa per utenti Trezor e Ledger: lette...
Wi-Fi 7 conveniente: FRITZ! lancia 4630,...
La Formula 1 dei robot tagliaerba miglio...
Il nuovo gioco del creatore di God of Wa...
Grok arriva sulle Tesla in Europa: l'int...
Assassin's Creed IV: Black Flag Remake p...
Il padre di God of War attacca Sons...
È operativo il primo computer qua...
Western Digital avverte: anche gli hard ...
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: 20:16.


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