Situazione in cui due (o più) operazioni richiedono set di risorse sovrapposti e nessuna delle due può essere completata perché non possono ottenere tutti i blocchi necessari per completare un'operazione e rilasciare i propri blocchi.
Ho una tabella innoDB che registra gli utenti online. Viene aggiornato su ogni aggiornamento della pagina da parte di un utente per tenere traccia delle pagine su cui si trovano e della loro ultima data di accesso al sito. Ho quindi un cron che viene eseguito ogni 15 minuti per …
Non capisco bene la differenza tra Task.Waite await. Ho qualcosa di simile alle seguenti funzioni in un servizio WebAPI ASP.NET: public class TestController : ApiController { public static async Task<string> Foo() { await Task.Delay(1).ConfigureAwait(false); return ""; } public async static Task<string> Bar() { return await Foo(); } public async static …
POSIX consente ai mutex di essere ricorsivi. Ciò significa che lo stesso thread può bloccare lo stesso mutex due volte e non si bloccherà. Ovviamente deve anche sbloccarlo due volte, altrimenti nessun altro thread può ottenere il mutex. Non tutti i sistemi che supportano pthread supportano anche i mutex ricorsivi, …
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 i seguenti quattro test e l'ultimo si blocca quando lo eseguo. Perché succede: [Test] public void CheckOnceResultTest() { Assert.IsTrue(CheckStatus().Result); } [Test] public async void CheckOnceAwaitTest() { Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceAwaitTest() { Assert.IsTrue(await CheckStatus()); Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceResultTest() { Assert.IsTrue(CheckStatus().Result); // This …
Il codice seguente determinerà un deadlock utilizzando C # su .NET? class MyClass { private object lockObj = new object(); public void Foo() { lock(lockObj) { Bar(); } } public void Bar() { lock(lockObj) { // Do something } } }
Ho un processo con una selezione che richiede molto tempo per terminare, nell'ordine da 5 a 10 minuti. Al momento non sto utilizzando NOLOCK come suggerimento per il motore di database MS SQL. Allo stesso tempo abbiamo un altro processo che esegue aggiornamenti e inserimenti nello stesso database e nelle …
Mi sono imbattuto in alcune best practice per la programmazione asincrona utilizzando le parole chiave async/ di c # await(sono nuovo in c # 5.0). Uno dei consigli dati è stato il seguente: Stabilità: conosci i tuoi contesti di sincronizzazione ... Alcuni contesti di sincronizzazione sono non rientranti e a …
Vorrei spiegare i deadlock del threading ai neofiti. Ho visto molti esempi di deadlock in passato, alcuni usando codice e altri usando illustrazioni (come le famose 4 auto ). Ci sono anche problemi classici facilmente bloccabili come The Dining Philosophers , ma questi potrebbero essere troppo complessi per un vero …
Da un'app .NET 3.5 / C #, vorrei catturare SqlExceptionma solo se è causato da deadlock su un'istanza di SQL Server 2008. Il messaggio di errore tipico è Transaction (Process ID 58) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the …
Chiuso . Questa domanda deve essere più mirata . Attualmente non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post . Chiuso 5 anni fa . Migliora questa domanda Recentemente ho ricevuto queste domande in un'intervista. Ho risposto …
Mi sono imbattuto in una strana situazione in cui l'utilizzo di un flusso parallelo con un lambda in un inizializzatore statico richiede apparentemente per sempre senza l'utilizzo della CPU. Ecco il codice: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] args) {} …
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.