Articles of mutex

Como devo lidar com mutexes em tipos móveis em C ++?

Por design, std::mutex não é móvel nem copiável. Isso significa que uma class A , que contém um mutex, não receberá um construtor default-move. Como eu faria este tipo A móvel de maneira segura?

Quando devemos usar o mutex e quando devemos usar o semáforo

Quando devemos usar o mutex e quando devemos usar o semáforo?

É inteligente replace boost :: thread e boost :: mutex com c ++ 11 equivalentes?

Motivação: pelo que estou considerando é que meu genial gerente de projeto acha que boost é outra dependência e que é horrível porque “você depende disso” (tentei explicar a qualidade do boost, depois desisti depois de algum tempo 🙁 Menor razão pela qual eu gostaria de fazer é que eu gostaria de aprender os resources […]

Como posso saber se outra instância do meu programa já está em execução?

Como faço para saber se uma instância do meu programa está em execução? Eu pensei que eu poderia fazer isso com um arquivo de dados, mas seria apenas bagunçado 🙁 Eu quero fazer isso, como eu só quero uma instância para ser aberto em um ponto.

HashSet Concorrente no .NET Framework?

Eu tenho a seguinte class. class Test{ public HashSet Data = new HashSet(); } Eu preciso alterar o campo “Data” de diferentes threads, então eu gostaria de algumas opiniões sobre a minha atual implementação thread-safe. class Test{ public HashSet Data = new HashSet(); public void Add(string Val){ lock(Data) Data.Add(Val); } public void Remove(string Val){ lock(Data) […]

O que é um mutex?

Um mutex é um conceito de programação que é freqüentemente usado para resolver problemas de multi-threading. Minha pergunta para a comunidade: O que é um mutex e como você o usa?

Está usando um Mutex para evitar que várias instâncias do mesmo programa sejam executadas com segurança?

Estou usando este código para impedir que uma segunda instância do meu programa seja executada ao mesmo tempo, é seguro? 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.”); } Estou preocupado que, se algo lançar uma exceção […]

Exemplo de Mutex / tutorial?

Eu sou novo em multithreading e estava tentando entender como os mutexes funcionam. Fiz muita pesquisa no Google e encontrei um tutorial decente , mas ainda deixei algumas dúvidas sobre como funciona porque criei meu próprio programa em que o bloqueio não funcionava. Uma syntax absolutamente não intuitiva do mutex é pthread_mutex_lock( &mutex1 ); , […]

Chamando pthread_cond_signal sem bloquear mutex

Eu li em algum lugar que devemos bloquear o mutex antes de chamar pthread_cond_signal e desbloquear o texto depois de chamá-lo: A rotina pthread_cond_signal () é usada para sinalizar (ou ativar) outro thread que está aguardando a variável condition. Ele deve ser chamado depois que o mutex é bloqueado e deve desbloquear o mutex para […]

Bloqueio Recursivo (Mutex) vs Bloqueio Não Recursivo (Mutex)

POSIX permite que mutexes sejam recursivas. Isso significa que o mesmo thread pode bloquear o mesmo mutex duas vezes e não ficará bloqueado. Claro que também precisa desbloqueá-lo duas vezes, caso contrário, nenhum outro segmento pode obter o mutex. Nem todos os sistemas que suportam pthreads também suportam mutexes recursivas, mas se eles querem estar […]