W skrócie,
Współbieżność oznacza wiele zadań, które są uruchamiane, uruchamiane i kończone w nakładających się okresach bez określonej kolejności. Równoległość występuje wtedy, gdy wiele zadań LUB kilka części jednego zadania jest wykonywanych dosłownie w tym samym czasie, np. Na procesorze wielordzeniowym.
Pamiętaj, że współbieżność i równoległość to NIE to samo.
Różnice między współbieżnością a równoległością
Teraz wypiszmy niezwykłe różnice między współbieżnością a równoległością.
Współbieżność występuje wtedy, gdy dwa zadania mogą zostać uruchomione, uruchomione i zakończone w nakładających się okresach. Równoległość występuje wtedy, gdy zadania są wykonywane dosłownie w tym samym czasie, np. na wielordzeniowym procesorze.
Współbieżność to kompozycja niezależnie wykonujących się procesów, podczas gdy równoległość to jednoczesne wykonywanie (prawdopodobnie powiązanych) obliczeń.
Współbieżność polega na radzeniu sobie z wieloma rzeczami naraz. Paralelizm polega na robieniu wielu rzeczy naraz.
Aplikacja może być współbieżna - ale nie równoległa, co oznacza, że w tym samym czasie przetwarza więcej niż jedno zadanie, ale żadne dwa zadania nie są wykonywane w tym samym czasie.
Aplikacja może być równoległa - ale nie współbieżna, co oznacza, że w tym samym czasie przetwarza wiele pod-zadań zadania w wielordzeniowym procesorze.
Aplikacja nie może być ani równoległa, ani współbieżna, co oznacza, że przetwarza wszystkie zadania po kolei, po kolei.
Aplikacja może być zarówno równoległa, jak i współbieżna, co oznacza, że przetwarza wiele zadań jednocześnie w wielordzeniowym procesorze w tym samym czasie.
Konkurencja
Współbieżność ma zasadniczo zastosowanie, gdy mówimy o co najmniej dwóch zadaniach. Gdy aplikacja jest w stanie wykonywać dwa zadania praktycznie w tym samym czasie, nazywamy ją aplikacją współbieżną. Chociaż tutaj zadania wyglądają jak jednocześnie, ale zasadniczo MOGĄ nie. Korzystają z funkcji dzielenia czasu procesora w systemie operacyjnym, w której każde zadanie uruchamia część swojego zadania, a następnie przechodzi w stan oczekiwania. Gdy pierwsze zadanie jest w stanie oczekiwania, procesor jest przypisywany do drugiego zadania, aby zakończyć jego część.
System operacyjny na podstawie priorytetu zadań, przydziela w ten sposób procesor i inne zasoby obliczeniowe, np. Pamięć; po kolei do wszystkich zadań i daj im szansę na wykonanie. Dla użytkownika końcowego wydaje się, że wszystkie zadania działają równolegle. Nazywa się to współbieżnością.
Równoległość
Równoległość nie wymaga istnienia dwóch zadań. Dosłownie fizycznie uruchamia części zadań LUB wiele zadań, korzystając jednocześnie z wielordzeniowej infrastruktury procesora, przypisując jeden rdzeń do każdego zadania lub podzadania.
Równoległość zasadniczo wymaga sprzętu z wieloma jednostkami przetwarzania. W przypadku jednordzeniowego procesora możesz uzyskać współbieżność, ale NIE równoległość.
Metody asynchroniczne
Nie jest to związane z współbieżnością i równoległością, asynchroniczność jest używana do przedstawienia wrażenia współbieżnego lub równoległego wykonywania zadań, ale efektywne wywołanie metody asynchronicznej jest zwykle używane w przypadku procesu, który musi działać z dala od bieżącej aplikacji, a my nie chcemy poczekaj i zablokuj naszą aplikację w oczekiwaniu na odpowiedź.