2009-02-10 13 views
6

Czy możesz polecić dobrą serię artykułów lub najlepiej książkę, jak zacząć z gwintowaniem w ogóle, a zwłaszcza w języku C#? Poszukuję głównie wątków w aplikacjach konsolowych i aplikacjach ASP.Net.Początkujący wątek w C#

rozumiem tylko same podstawy wątków i wiem, że „tu być smoki”, więc chcemy uzyskać dobre rozeznanie w tym, zanim zacznę ich używania.

Czego jestem ciekaw o takie rzeczy jak pojęcia o puli wątków, jak zarządzać rozmiar to, w jaki sposób wybrać dla rzeczy w kolejce, aż gwint jest dostępny vs zmuszając nowy wątek, aby rozpocząć itp Rozumiem również, że usługi IIS mają wiele wbudowanych mechanizmów obsługi wątków, więc wszystko, co wyjaśnia, jak pracować z wątkami w ASP.Net w IIS i jak różni się od wątków w konsoli C#, jest interesujące.

My zamierzone wykorzystanie obejmuje takie rzeczy jak;

  • użytkownik robi coś na stronie ASP.NET, która powoduje mojego kodu po stronie serwera należy podłączyć do innego systemu i przeprowadzenie długotrwałych operacji, więc chcę wrócić kontrolę użytkownikowi szybko przez wypalanie że akcja do innego wątku. Użytkownik może śledzić postępy poprzez AJAX lub po prostu odejść - w końcu sieć jest bezpaństwowa :)

  • Użycie wzorców Fire i Forget (wiele przykładowego kodu, chcę dowiedzieć się więcej o ich działaniu)

Dzięki

Odpowiedz

11

Oprócz moich własnych artykułów powiązanych z Andrew, Joe Albahari ma another tutorial.

Jeśli chcesz naprawdę dokładne badanie, czytać Joe Duffy Concurrent Programming in Windows.

+1

Właśnie wysłałem tę samą odpowiedź, a teraz usunąłem ją, aby zamiast tego zabrać głos, ponieważ pokonałeś mnie. –

+0

Pracuję nad książką Duffy'ego, tak jak mam czas. Do tej pory jest świetny i lubię jego nie-nonsensowny styl pisania. –

+0

+1 za link Albahari, dzięki! – RAL

5

Oto dobry zestaw artykułów o naszym własnym Jon Skeet:

http://www.yoda.arachsys.com/csharp/threads/

+0

To właśnie używam C# dla wszystkich pytań gwintowania mam. –

+0

Trzeba mieć świadomość, że został napisany przed .NET 2.0 wyszło chociaż, dlatego nie ma nic o BackgroundWorker (IIRC). Naprawdę powinienem to zaktualizować jakiś czas. –

+0

+1 Jon T: Ja też, właśnie zdarzyło się dwa dni temu, przesyłając masę danych z gridview do arkusza Excela, a ponieważ artykuł Skeeta robi to asynchronicznie w ciągu pięciu minut. dzięki Jon. –