Uruchamianie wątków w C#

0

Witam

Dawno nie zadawałem pytań z oczywistą odpowiedzią, więc proszę :D

Muszę od strony teoretycznej opisać na czym polega uruchamianie wątków. Jak człowiek pisze funkcje w programie, to jakoś nie zawraca sobie głowy takimi sprawami (przynajmniej ja tak mam, może to błąd).
Dlatego chciałbym wiedzieć, czy sprowadzenie odpowiedzi do takiego zdania:

*"Uruchomienie wątku polega na stworzeniu obiektu klasy Thread i wysłaniu do niego adresu funkcji, którą ma realizować, a następnie na wywołaniu metody Start()." *

plus dla przykładu kod obrazujący powyższe zdanie:

 private Thread Watek = null;

Watek = new Thread(new ThreadStart(UruchamianyWatek));
Watek.Start();

void UruchamianyWatek()
{
  (...)
}

Sam od niedawna działam na wątkach i nie wiem czy powyższa regułka nie mija się z prawdą. Będę wdzięczny za kilka słów opini w tej sprawie.

Pozdrawiam

1

Po pierwsze ie ten dział - "Off Topic" jest do innych celów.

Oczywiście mówisz o tworzeniu swoich wątków -new Thread(), nie o korzystaniu z puli (ThreadPool.QueueUserWorkItem). To ważne żeby nie mylić.

new Thread() zwraca referencję do obiektu, który reprezentuje zarządzany wątek. CLR tworzy dla wątku nowy stos. Pamięć jest dzielona pomiędzy wszystkimi wątkami.

0

@Deti wrzuciłem pytanie w Off-Topi bo jakby nie było nie jest to problem z kodem, tylko pytanie tyczące się kwestii teoretycznej. Niemniej dzięki za przeniesienie.

A co do samej odpowiedzi, to mało z tego zrozumiałem ^^ Nie chodzi o samo tworzenie wątków, ale o ich uruchamianie. O ThreadPool.QueueUserWorkItem nie dane mi było wcześniej słyszeć, więc w ogóle nie mogę się w tym temacie wypowiedzieć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1