Articles of sincronizzazione

Attendi fino a quando flag = true

Ho una funzione javascript come questa: function myFunction(number) { var x=number; … … more initializations //here need to wait until flag==true while(flag==false) {} … … do something } Il problema è che il javascript è bloccato nel frattempo e bloccato il mio programma. quindi la mia domanda è: come posso aspettare nel mezzo della funzione […]

Java Synchronized Block per .class

Cosa significa questo codice java? Otterrà il blocco su tutti gli oggetti di MyClass ? synchronized(MyClass.class) { //is all objects of MyClass are thread-safe now ?? } E come il codice di cui sopra differisce da questo: synchronized(this) { //is all objects of MyClass are thread-safe now ?? }

Java Singleton e sincronizzazione

Per favore chiarisci le mie domande su Singleton e Multithreading: Qual è il modo migliore per implementare Singleton in Java, in un ambiente con multithreading? Cosa succede quando più thread tentano di accedere al metodo getInstance() allo stesso tempo? Possiamo synchronized getInstance() di singleton? La sincronizzazione è davvero necessaria quando si utilizzano le classi Singleton?

Come proteggere le risorse che possono essere utilizzate in un ambiente multi-thread o asincrono?

Sto lavorando su un’API C # utilizzata da una varietà di consumatori. Questa API fornisce l’accesso a una risorsa condivisa (nel mio caso l’hardware che fa comunicazione seriale), che spesso ha alcuni attori diversi che cercano di usarlo contemporaneamente. Il problema che ho è che alcuni dei miei consumatori vorranno usarlo in un ambiente multi-thread: […]

Come condividere i semafori tra processi utilizzando la memoria condivisa

Devo sincronizzare i processi N client con un server. Questi processi sono biforcati da una funzione principale in cui ho dichiarato 3 semafori. Ho deciso di usare i semafori POSIX ma non so come condividerli tra questi processi. Ho pensato che la memoria condivisa dovrebbe funzionare correttamente, ma ho alcune domande: Come posso allocare il […]

Stampa pari e dispari utilizzando due thread in Java

Ho provato il codice qui sotto. Ho preso questo pezzo di codice da qualche altro post che è corretto secondo l’autore. Ma quando provo a correre, non mi dà il risultato esatto. Questo è principalmente per stampare valori pari e dispari in sequenza. public class PrintEvenOddTester { public static void main(String … args){ Printer print […]

Quando dovremmo usare il mutex e quando dovremmo usare il semaforo

Quando dovremmo usare il mutex e quando dovremmo usare il semaforo?

Qual è la differenza tra un metodo sincronizzato e un blocco sincronizzato in Java?

Qual è la differenza tra un metodo sincronizzato e un blocco sincronizzato in Java? Ho cercato la risposta in Rete, la gente sembra essere così incerta su questo 🙁 La mia opinione sarebbe che non vi è alcuna differenza tra i due, tranne che il blocco di sincronizzazione potrebbe essere più localizzato in ambito e […]

Sincronizzazione IPC con memoria condivisa (senza blocco)

Si consideri il seguente scenario: Requisiti: Intel x64 Server (più socket CPU => NUMA) Ubuntu 12, GCC 4.6 Due processi che condividono grandi quantità di dati su (denominati) memoria condivisa Scenario classico produttore-consumatore La memoria è sistemata in un buffer circolare (con elementi M) Sequenza di programma (pseudo codice): Processo A (produttore): int bufferPos = […]

Quando si dovrebbe usare uno spinlock al posto del mutex?

Penso che entrambi stiano facendo lo stesso lavoro, come decidi quale utilizzare per la sincronizzazione?