/ / Jaka jest różnica między NSOperationQueue a NSURLSession? [zamknięte] - ios, cel-c

Jaka jest różnica między NSOperationQueue a NSURLSession? [zamknięty] - ios, cel-c

Jaka jest różnica pomiędzy NSURLSession i NSOperationQueue?
Czy możemy zrobić to samo? NSURLSession jak w NSOperationQueue?

W rzeczywistości oba służą do korzystania z zadań w tle. Więc mam wątpliwości: jaka jest różnica między tymi dwoma i jakie są zalety i wady NSURLSession i NSOperationQueue?

Odpowiedzi:

3 dla odpowiedzi № 1

Podczas NSOperationQueue to kolejka do dowolnych celów obliczeniowych (możesz włożyć dowolną pracę do jednego z nich - na przykład przetwarzanie obrazu) i zarządzanie wątkami, NSURLSession oferuje łatwy w obsłudze interfejs do połączeń URL (przesyłanie danych i pobieranie danych).

Więc z NSOperationQueue możesz zrobić wszystko, co możesz zrobić z NSURLSession ponieważ użycie kolejki w tle do uruchomienia synchronicznego połączenia URL jest (oprócz narzutu konfiguracyjnego, że NSURLSession ma się o ciebie troszczyć) logicznie to samo.

Ale odwrotność nie jest prawdą; NSURLSession nie byłby użyteczny w przypadku dowolnych sieci (na przykład surowego protokołu TCP) ani żadnych zadań niezwiązanych z siecią.

Zbyt abstrakcyjne wszelkie uproszczone, które możesz chcieć zobaczyć NSURLSession jako bardzo specyficzna kolejka operacji, która pozwala tylko na operacje związane z adresami URL.


2 dla odpowiedzi nr 2

Istnieje wiele różnych pomiędzy NSURLSession i NSOperationQueue

NSURLSession : - służy do wywoływania usługi internetowej w tle. Wszystkimi operacjami związanymi z wywołaniem usługi WWW można zarządzać w sesji NSURL

NSOperationQueue : - Służy do wykonywania dowolnego zadania wtło w innym wątku. Możesz wykonać dowolne zadanie w wątku w tle oprócz (interfejs użytkownika). W kolejce operacji można wykonać zależne zadanie za pomocą zależności, aby zadanie było wykonywane w określonej kolejności.