Multi-threading i .NET: Innledning og forslag
Multi-threading i .NET: Innledning og forslag
En av de største understatements jeg har hørt på en nyhetsgruppe ble gjort Patricia Shanahan, i en Java nyhetsgruppe i 2001: " Multi-threaded programmering trenger litt omsorg ". Multi-threading er trolig en av de verste forstått aspekter av programmering, og i disse dager nesten alle program programmerere trenger å forstå det til en viss grad. Denne artikkelen fungerer som en introduksjon til multi-threading og gir noen hint og tips for hvordan du gjør det trygt. Advarsel: Jeg er ikke en ekspert på emnet, og når reelle
ekspertene begynner å diskutere det i detalj, hodet mitt begynner å spinne litt. Men jeg har prøvd å ta hensyn til de som vet hva de gjør, og forhåpentligvis innholdet i denne artikkelen skjemaet minst en del av en multi-threading " best practice ".
Denne artikkelen bruker C # typen shorthands hele - int for Int32 etc. Jeg håper dette gjør det enklere for C # utviklere å lese, og vil ikke hindre noen andre utviklere for mye. Det er også bare snakker om C # måter å erklære variabler å være volatile og låse skjermer. Utviklere som bruker andre språk finner ekvivalenter i sin egen foretrukne miljø, er jeg sikker på.
Dette er en lang artikkel. Det er nesten helt sikkert altfor lang tid å lese gjennom riktig i en enkelt økt. Men jeg har ikke delt den opp i flere sider som jeg har ingen anelse om hvor du
ønsker å stoppe og ta en pause. Men du kan hoppe tilbake til der du enkelt var med følgende delen koblinger:
Innledning: Hva er multi-threading?
Hvordan multi-threading arbeid i .NET?
Multi-threaded " Hei, verden "
Data løpene
Eksklusiv tilgang - Monitor.Enter /Exit og låsen uttalelse
Vranglåser
Flere Monitor metoder
Volatilitet og foreldede data
atomiteten
En snarvei for noen tilfeller: forriglet klasse
Velge hva som skal låses
Threading i Windows Forms
tråden basseng og asynkrone metoder
timere
Slå arbeideren tråder grasiøst
samlet tips
Resources
Multi-threading i .NET: Introduksjon og suggestions
Previous:Forbruker RSS-feeder via Javascript
Next Page:Sikre XHTML-kompatibilitet i ASP.NET 1,1