Il multi-threading è la capacità di un computer o di un programma di eseguire lavori contemporaneamente o in modo asincrono utilizzando più flussi di esecuzione simultanei (generalmente chiamati thread).
Se ho sincronizzato due metodi sulla stessa classe, possono essere eseguiti contemporaneamente sullo stesso oggetto ? per esempio: class A { public synchronized void methodA() { //method A } public synchronized void methodB() { // method B } } So che non posso correre methodA()due volte sullo stesso oggetto in …
Ho uno scenario in cui ho più thread che si aggiungono a una coda e più thread che leggono dalla stessa coda. Se la coda raggiunge una dimensione specifica, tutti i thread che riempiono la coda verranno bloccati durante l'aggiunta fino a quando un elemento non viene rimosso dalla coda. …
Sto usando il multi-threading in Java per il mio programma. Ho eseguito correttamente il thread, ma quando lo sto usando Thread.wait(), sta lanciando java.lang.IllegalMonitorStateException. Come posso attendere che un thread venga avvisato?
newCachedThreadPool() contro newFixedThreadPool() Quando dovrei usare l'uno o l'altro? Quale strategia è migliore in termini di utilizzo delle risorse?
Quando si scrivono applicazioni multi-thread, uno dei problemi più comuni riscontrati sono i deadlock. Le mie domande alla community sono: Che cos'è un deadlock? Come li rilevi? Li gestisci? E infine, come evitare che si verifichino?
Ho creato un semplice programma in Java: public static void main(String[] args) throws InterruptedException { while (true) ; } Se lo eseguo su una macchina Linux, mostra un utilizzo della CPU al 100%, ma non fa apparire lento il sistema operativo. Tuttavia, se eseguo esattamente lo stesso codice su Windows, …
Sto cercando buone idee per implementare un modo generico per far eseguire una sola riga (o un delegato anonimo) con un timeout. TemperamentalClass tc = new TemperamentalClass(); tc.DoSomething(); // normally runs in 30 sec. Want to error at 1 min Sto cercando una soluzione che possa essere elegantemente implementata in …
In questo codice, cosa significano i due join e break? t1.join()provoca t2l'arresto fino al t1termine? Thread t1 = new Thread(new EventThread("e1")); t1.start(); Thread t2 = new Thread(new EventThread("e2")); t2.start(); while (true) { try { t1.join(); t2.join(); break; } catch (InterruptedException e) { e.printStackTrace(); } }
In javadoc per ConcurrentHashMap è il seguente: Le operazioni di recupero (incluso get) generalmente non si bloccano, pertanto potrebbero sovrapporsi con le operazioni di aggiornamento (incluso put e remove). I recuperi riflettono i risultati delle operazioni di aggiornamento completate più di recente che si sono manifestate al loro inizio. Per …
In un thread, ne creo alcuni System.Threading.Taske inizio ogni attività. Quando faccio un .Abort()per uccidere il thread, le attività non vengono interrotte. Come posso trasmetterlo .Abort()ai miei compiti?
Ho un problema con il threading di Python e l'invio di una stringa negli argomenti. def processLine(line) : print "hello"; return; . dRecieved = connFile.readline(); processThread = threading.Thread(target=processLine, args=(dRecieved)); processThread.start(); Dove dRecieved è la stringa di una riga letta da una connessione. Chiama una semplice funzione che al momento ha …
Ho notato che viene spesso suggerito di utilizzare le code con più thread, anziché elenchi e .pop(). Questo perché gli elenchi non sono thread-safe o per qualche altro motivo?
Motivazione: motivo per cui sto considerando che il mio geniale project manager pensa che la spinta sia un'altra dipendenza e che sia orribile perché "dipendi da essa" (ho provato a spiegare la qualità della spinta, poi ho rinunciato dopo qualche tempo :( La ragione più piccola per cui mi piacerebbe …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.