Articles of mutex

Qual è l’equivalente di Swift di Objective-C “@ sincronizzato”?

Ho cercato nel libro Swift, ma non riesco a trovare la versione Swift di @synchronized. Come faccio a fare l’esclusione reciproca in Swift?

Quando dovremmo usare il mutex e quando dovremmo usare il semaforo

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

Come devo gestire i mutex nei tipi mobili in C ++?

In base alla progettazione, std::mutex non è mobile né copy-constructable. Ciò significa che una class A , che contiene un mutex, non riceverà un costruttore di mosse predefinito. Come faccio a rendere questo tipo A mobile in modo thread-safe?

È intelligente sostituire boost :: thread e boost :: mutex con equivalenti c ++ 11?

Motivazione: la ragione per cui sto considerando è che il mio geniale project manager pensa che il boost sia un’altra dipendenza e che sia orribile perché “si dipende da esso” (ho provato a spiegare la qualità della spinta, poi ho rinunciato dopo un po ‘di tempo 🙁 La ragione più piccola per cui mi piacerebbe […]

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?

Come posso sapere se un’altra istanza del mio programma è già in esecuzione?

Come faccio a sapere se una istanza del mio programma è in esecuzione? Pensavo di poterlo fare con un file di dati, ma sarebbe solo un disordine 🙁 Voglio farlo perché desidero che 1 istanza sia sempre aperta in un punto.

Sta usando un Mutex per impedire che più istanze dello stesso programma funzionino in sicurezza?

Sto usando questo codice per evitare che una seconda istanza del mio programma venga eseguita contemporaneamente, è sicura? Mutex appSingleton = new System.Threading.Mutex(false, “MyAppSingleInstnceMutx”); if (appSingleton.WaitOne(0, false)) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); appSingleton.Close(); } else { MessageBox.Show(“Sorry, only one instance of MyApp is allowed.”); } Sono preoccupato che se qualcosa genera un’eccezione e l’app si […]

Chiamando pthread_cond_signal senza bloccare mutex

Ho letto da qualche parte che dovremmo bloccare il mutex prima di chiamare pthread_cond_signal e sbloccare il mutext dopo averlo chiamato: La routine pthread_cond_signal () viene utilizzata per segnalare (o ritriggersre) un altro thread che è in attesa sulla variabile condition. Dovrebbe essere chiamato dopo che il mutex è bloccato e deve sbloccare il mutex […]

Blocco ricorsivo (mutex) contro blocco non ricorsivo (mutex)

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 ha anche bisogno di sbloccarlo due volte, altrimenti nessun altro thread può ottenere il mutex. Non tutti i sistemi che supportano i pthread supportano anche i mutex ricorsivi, ma se […]

Perché le funzioni variabili di condizione di pthreads richiedono un mutex?

Sto leggendo su pthread.h ; le funzioni relative alle variabili di condizione (come pthread_cond_wait(3) ) richiedono un mutex come argomento. Perché? Per quanto posso dire, creerò un mutex solo per usarlo come argomento? Cosa dovrebbe fare questo mutex?