Mi farebbe un gran favore se qualcuno sarebbe così gentile e paziente di descrivermi l'utilizzo del meccanismo di sincronizzazione "Exchanger"...!
Mi farebbe un gran favore se qualcuno sarebbe così gentile e paziente di descrivermi l'utilizzo del meccanismo di sincronizzazione "Exchanger"...!
Mi dispiace, non so cosa intendi con "Exchanger". A cosa ti riferisca?
www.sitemeer.com » Quando un sito pare irraggiungibile
Se ti piace ci puoi trovare anche su Facebook
"EXCHANGER" è uno dei meccanismi di sincronizzazione per la gestione dei threads, che accedono concorrentemente a dati condivisi. Ciò che vorrei sapere é dei chiarimenti sul loro utilizzo, ad esempio, considerando l'esercizio seguente:
Tre corridori impegnati in una staffetta devono percorrere una pista suddivisa in tre parti. Il primo corridore
attende che lo starter dia il segnale di partenza (classico colpo in aria) prima di partire. Giunto al termine del suo
tratto passa il testimone al secondo corridore, il quale può partire. In modo analogo, il secondo corridore, quando
giunge alla fine del secondo tratto, passa il testimone al terzo ed ultimo corridore, che termina la staffetta dopo
essere giunto al traguardo.
Si simuli lo scenario descritto utilizzando i thread e lo strumento di sincronizzazione Exchanger del package
java.util.concurrent.
Spero di essere stata più chiara![]()
Mi dispiace, mai sentito quel termine - ma va bene non mi sono impegnato di sincronizzazione adesso per un po- e anche una ricerca veloce non mi restituiva niente
![]()
www.sitemeer.com » Quando un sito pare irraggiungibile
Se ti piace ci puoi trovare anche su Facebook
java.util.concurrent.Exchanger<V>Originariamente inviato da Dahlia
"EXCHANGER" è uno dei meccanismi di sincronizzazione per la gestione dei threads, che accedono concorrentemente a dati condivisi.
A synchronization point at which threads can pair and swap elements within pairs. Each thread presents some object on entry to the exchange method, matches with a partner thread, and receives its partner's object on return. An Exchanger may be viewed as a bidirectional form of a SynchronousQueue. Exchangers may be useful in applications such as genetic algorithms and pipeline designs.
Cosa non è chiaro?
Un stesso oggetto Exchanger va usato tra 2 thread. Un thread A invoca exchange() per passare un oggetto X. Questo thread si blocca finché un altro thread B invoca pure lui exchange() sullo stesso oggetto Exchanger per passare un oggetto Y. A quel punto entrambi i thread si sbloccano ed escono dal exchange() ognuno ricevendo l'oggetto passato dall'altro (il thread A riceve Y e il thread B riceve X).
Tutto qui.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet