Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

[C#,Java]Rożnica między Task a Thread.

#1
[C#,Java]Rożnica między Task a Thread.
Witam.

Mam proste pytanie.
Jaka jest dokładna róznica między Task a Thread?
Czy Task można zamiennie używać z AsyncCallback? ( x.begininvoke())
 System operacyjny: windows_seven Przeglądarka: chrome
#2
RE: [C#,Java]Rożnica między Task a Thread.
Wypowiem się tylko odnośnie C#.

W C# Thread to po prostu wątek, a Task to jakieś określone zadanie.

Taski korzystają z Threadów aby działać w tle, czyli np mamy aplikację okienkową i odpalamy sobie nowego Taska to tworzy on sobie nowy wątek lub wątki w których działa.

Od .NET'a w wersji 4.0 całe API wielowątkowości zostały na nowo stworzone i zaleca się korzystanie z nowej wersji za pomocą Tasków i słów kluczowych async i await.


Teraz trochę dokładniej:

W C# masz dostęp do klas: Thread, ThreadPool i Task.

a)Thread daje Ci dostęp do tworzenia wątków i zarządzania nimi na najniższym dostępnym poziomie, sam musisz się wszystkim zająć.

b)ThreadPool pozwala Ci wykorzystać tak zwany pooling wątków, polega to na tym aby nie tworzyć w kółko nowych wątków, ponieważ jest to dość kosztowna operacja, tylko te wątki które się skończyły wykorzystywać na nowo.
Oczywiście mógłbyś to sam napisać za pomocą klasy Thread, ale po co się męczyć skoro jest gotowe rozwiązanie?

c)Task - "połączenie" i uzupełnienie klasy Thread i ThreadPool. Wszystkie w ten sposób tworzone zadania są poolowane z ThreadPool więc nie musisz się martwić o to, klasa Task rozszerza też Thread i daje dostęp do nowych metod ułatwiających pracę z wątkami. Jest to obecnie preferowany sposób pracy z wielowątkowością.
 System operacyjny: windows_seven Przeglądarka: firefox
#3
RE: [C#,Java]Rożnica między Task a Thread.
Bardzo dziękuję za bardzo dokładne wyjaśnienie.

Temat można zamknąć.
Pozdrawiam.
 System operacyjny: windows_seven Przeglądarka: chrome
Programy: Polecane / Nowe / Inne




Podobne wątki ([C#,Java]Rożnica między Task a Thread.)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [VBA] Przenoszenie danych między formularzami Pioro 4 14217 23.04.2018, 11:48
Ostatni post: broda99
  [VB.NET] przenoszenie danych między formami Pioro 15 26808 19.11.2017, 03:48
Ostatni post: broda99
  przekazanie wyniku w zmiennej między comboBox a button dawid653 3 4534 30.06.2014, 09:03
Ostatni post: Szachista

Skocz do: