I compilatori Microsoft Visual C++ hanno gli oggetti EnterCriticalSection
e ExitCriticalSection
per consentire la sincronizzazione tra i thread.Quali sono le sezioni critiche di gcc on linux alle sezioni critiche di Microsoft?
Qual è l'equivalente GCC?
vedo riferimenti intorno a __sync_synchronize
insieme __scoped_lock
In realtà vedo menzione di un certo numero di atomiche __sync
funzioni con un certo numero di __atomic
quelli.
In realtà ho utilizzato __sync_fetch_and_add
per il mio incremento atomico Devo usare __atomic_add_dispatch
invece?
Qual è la differenza?
Quali dovrei usare? Ci sono alcuni costrutti in C++ che posso usare sia nell'ultima versione di GCC e Visual C++ 2010 che sono disponibili visto che scriverò del codice cross-platform.
Vedo che l'amplificazione ha alcune funzioni disponibili, ma per vari motivi non mi è permesso usare boost sotto Windows.
suppongo, non è possibile utilizzare qualsiasi altra libreria né allora? Qt ha una bella API di threading (multipiattaforma). – Job