Articles of sincronizzazione

Modo corretto per sincronizzare ArrayList in java

Non sono sicuro se questo è il modo corretto per sincronizzare il mio ArrayList . Ho un ArrayList in_queue che viene passato dalla funzione registerInQueue . ArrayList in_queue = null; public void registerInQueue(ArrayList in_queue) { this.in_queue = in_queue; } Ora sto cercando di sincronizzarlo. Questo in_queue mio object in_queue correttamente? List in_queue_list = Collections.synchronizedList(in_queue); synchronized […]

Assicurarsi che l’esecuzione del lavoro Spring Quartz non si sovrapponga

Ho un programma Java che esegue da Spring Qquartz ogni 20 secondi. A volte bastano pochi secondi per essere eseguiti, ma man mano che i dati aumentano, sono sicuro che verrà eseguito per 20 secondi o più. Come posso impedire a Quartz di triggersre / triggersre il lavoro mentre è ancora in esecuzione un’istanza? L’triggerszione […]

Come acquisire un blocco con una chiave

Qual è il modo migliore per impedire l’aggiornamento simultaneo di un record in un set di valori-chiave senza bloccare l’intero set? Semanticamente, sto cercando un qualche tipo di blocco da una chiave (idealmente, l’implementazione di Java, ma non necessariamente): interface LockByKey { void lock(String key); // acquire an exclusive lock for a key void unlock(String […]

In attesa di più thread da completare in Java

Durante l’esecuzione del mio programma, viene avviato un numero di thread. La quantità di thread varia a seconda delle impostazioni definite dall’utente, ma tutti eseguono lo stesso metodo con variabili diverse. In alcune situazioni, è necessaria una pulizia a metà dell’esecuzione, parte di ciò è l’interruzione di tutti i thread, non voglio che si fermino […]

Blocco sincronizzato Java vs. Collections.synchronizedMap

Il seguente codice è impostato per sincronizzare correttamente le chiamate su synchronizedMap ? public class MyClass { private static Map<String, List> synchronizedMap = Collections.synchronizedMap(new HashMap<String, List>()); public void doWork(String key) { List values = null; while ((values = synchronizedMap.remove(key)) != null) { //do something with values } } public static void addToMap(String key, String value) […]

Variabile condizionale vs Semaforo

Quando si dovrebbe usare un semaforo e quando si dovrebbe usare una variabile condizionale (CondVar)?

Quali sono le differenze tra le varie opzioni di sincronizzazione dei thread in C #?

Qualcuno può spiegare la differenza tra: lock (someobject) {} Utilizzando Mutex Usando il semaforo Utilizzo del monitor Utilizzo di altre classi di sincronizzazione .Net Non riesco a capirlo. Mi sembra che i primi due siano uguali?

Implementazione interna di Lock (Monitor) in .NET

Per padroneggiare alcune tecnologie devi sapere come è fatto a un livello di astrazione più basso. In caso di programmazione multithreading, sarà utile conoscere le primitive di sincronizzazione. Ecco la domanda, come implementato Lock (Monitor) in .NET? Sono interessato a questi punti: – utilizza oggetti OS ?; – richiede la modalità utente o la modalità […]

Come determinare se un object è bloccato (sincronizzato) in modo da non bloccare in Java?

Ho un processo A che contiene una tabella in memoria con un set di record (recordA, recordB, ecc …) Ora, questo processo può avviare molti thread che influiscono sui record, e talvolta possiamo avere 2 thread che tentano di accedere allo stesso record – questa situazione deve essere negata. Specificamente se un record è BLOCCATO […]

È ansible utilizzare il mutex nel caso di multiprocessing su Linux / UNIX?

Questa è una domanda di intervista. È ansible utilizzare il mutex nel caso di multiprocessing su Linux / UNIX? La mia idea: No, diversi processi hanno uno spazio di memoria separato. mutex è usato solo per il multithreading. il semaforo viene utilizzato per la multiprocessing per eseguire la sincronizzazione. destra ? Qualsiasi commento è benvenuto. […]