Articles of concorrenza

Vuoi spiegare l’ordine di blocco?

Ho imparato che dovrei sbloccare l’ordine inverso per bloccare l’ordine. Per esempio. A.lock(); B.lock(); B.unlock(); A.unlock(); Ma cosa succede se mi piace così: A.lock(); B.lock(); A.unlock(); B.unlock(); Provo a creare uno scenario di deadlock, ma se blocco sempre A prima di B, non so come potrebbe verificarsi un deadlock. Mi aiuteresti?

.NET Lettura / scrittura stream asincroni

Ho cercato di risolvere questo esercizio di esame “Concurrent Programming” (in C #): Sapendo che la class Stream contiene i metodi int Read(byte[] buffer, int offset, int size) e void Write(byte[] buffer, int offset, int size) , implementa in C # il metodo NetToFile che copia tutti i dati ricevuti dalla NetworkStream net istanza all’istanza […]

Diversi tipi di set thread-safe in Java

Sembra che ci siano un sacco di diverse implementazioni e modi per generare set thread-safe in Java. Alcuni esempi includono 1) CopyOnWriteArraySet 2) Collections.synchronizedSet (Set set) 3) ConcurrentSkipListSet 4) Collections.newSetFromMap (new ConcurrentHashMap ()) 5) Altri set generati in modo simile a (4) Questi esempi provengono da Pattern Concurrency: Concurrent Set implementations in Java 6 Qualcuno […]

Confuso su UPDLOCK, HOLDLOCK

Durante la ricerca sull’uso dei Table Hints , mi sono imbattuto in queste due domande: Quali suggerimenti di blocco dovrei usare (T-SQL)? Che effetto ha HOLDLOCK su UPDLOCK? Le risposte a entrambe le domande dicono che quando si utilizza (UPDLOCK, HOLDLOCK) , altri processi non saranno in grado di leggere i dati su quella tabella, […]

Scala Futures – costruito nel timeout?

c’è un aspetto del futuro che non capisco esattamente dal tutorial ufficiale ref. http://docs.scala-lang.org/overviews/core/futures.html I futuri in scala hanno un meccanismo di time-out di qualche tipo? Supponiamo che l’esempio sotto sia un file di testo di 5 gigabyte … l’ambito implicito di “Implicits.global” alla fine causa l’triggerszione di onFailure in modo non bloccante o può […]

Executors.newCachedThreadPool () versus Executors.newFixedThreadPool ()

newCachedThreadPool() versus newFixedThreadPool() Quando dovrei usare l’uno o l’altro? Quale strategia è migliore in termini di utilizzo delle risorse?

Quale sarebbe meglio per attività concorrenti su node.js? Fibre? Web-lavoratori? o discussioni?

Mi sono imbattuto su node.js qualche tempo fa e mi piace molto. Ma presto ho scoperto che mancava molto la capacità di eseguire attività che richiedevano molta CPU. Quindi, ho iniziato a cercare su Google e ho ottenuto queste risposte per risolvere il problema: Fibre, Webworker e Thread (thread-a-gogo). Ora quale usare è una confusione […]

È sicuro ottenere valori da una java.util.HashMap da più thread (nessuna modifica)?

C’è un caso in cui verrà costruita una mappa e, una volta inizializzata, non verrà più modificata. Sarà tuttavia ansible accedere (solo tramite get (chiave)) da più thread. È sicuro usare java.util.HashMap in questo modo? (Attualmente, sto usando felicemente una java.util.concurrent.ConcurrentHashMap , e non ho alcuna necessità misurata di migliorare le prestazioni, ma sono semplicemente […]

Come risolvere la dichiarazione “Il blocco a doppio controllo è rotto” in Java?

Voglio implementare l’inizializzazione pigra per il multithreading in Java. Ho un codice del tipo: class Foo { private Helper helper = null; public Helper getHelper() { if (helper == null) { Helper h; synchronized(this) { h = helper; if (h == null) synchronized (this) { h = new Helper(); } // release inner synchronization lock […]

Java swing GUI si blocca

Sto scrivendo un’applicazione GUI client / server Java usando i socket e qui è il problema: Ho un pulsante per iniziare ad ascoltare per una porta specificata: button actionPerformsd method private void listenButtonActionPerformsd(java.awt.event.ActionEvent evt) { int port = Integer.parseInt(portTextfield.getText(), 10); try { socket.listen(port); } catch (IOException ex) { } } Ecco il metodo socket.listen public […]