Quali sono il compilatore, CLR o ottimizzazioni della CPU di essere a conoscenza di quando si lavora con le discussioni e la sincronizzazione non bloccante?

StackOverflow https://stackoverflow.com/questions/1848326

Domanda

Come dice il titolo, quali sono il compilatore, CLR o CPU ottimizzazioni di essere a conoscenza di quando si lavora con fili e non-blocking sincronizzazione?

Ho letto un po 'il riordino delle istruzioni per migliorare l'efficienza che potrebbe rompere le cose, e ottimizzazioni di caching che si tradurrà in variabili non essere visibile ad altri thread subito [0] , ma ci sono altri (I sicuro che ci sono) che ho bisogno di essere a conoscenza?

Tutti i link per leggere / blog / articoli consigliati / etc sarà molto apprezzato.

Grazie, Egil.

Aggiornamento: Grazie a Jons link post sul blog di Joe Duffy ho trovato molto più grandi informazioni che ho pensato di condividere con voi ragazzi:

È stato utile?

Soluzione

È necessario conoscere il modello di memoria .NET, in fondo. Ignorare ciò che le ottimizzazioni sono attualmente eseguiti -. Codice per il modello

questo post del blog da Joe Duffy come un buon punto di partenza.

Consiglio anche che non rotolare il proprio codice libero-lock. E 'semplicemente troppo difficile per i mortali, IMO. Utilizzare framework come estensioni parallele (in .NET 4.0), che fanno la cosa giusta per te.

Altri suggerimenti

Joe Duffy ha un ottimo libro intitolato " programmazione concorrente su Windows " che vi consiglio caldamente di leggere se siete interessati a concorrenza su Windows (tra cui la programmazione libera di blocco).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top