Asynchroniczność, a przetwarzanie współbieżne

0

Witam,

Czym się różni przetwarzanie współbieżne od asynchronicznego,czy to jest to samo?

0

To są pojęcia ortogonalne, niemniej asynchroniczność zwykle uzyskuje sie przez wykonanie czegoś współbieżnie.
Współbieżność oznacza że wykonujesz kilka obliczeń "w tym samym czasie". Oczywiście niekoniecznie jest to wykonanie równoległe, bo nie musisz mieć więcej niż 1 jednostki obliczeniowej, może po prostu każda operacja dostaje trochę czasu procesora, ale z twojego punktu widzenia operacje realizowane są w tym samym czasie. Np. masz na komputerze włączoną przeglądarkę oraz odtwarzacz muzyki, więc oba działają współbieżnie.
Asynchroniczność oznacza że zlecasz wykonanie jakiejś akcji ale nie czekasz aż się faktycznie wykona, tylko dzieje się to "jakośtam w tle". Wyobraź sobie że wysyłasz komus maila. Klikasz "wyślij" i nie musisz czekać aż dane przelecą pomiędzy serwerami aż do odbiorcy. Klikasz i zakładasz że operacja wykonuje się w tle.

W programowaniu asynchroniczne wywołania często powodują uruchomienie nowego wątku działającego współbieżnie, który realizuje tą asynchroniczną akcje, ale nie musi tak być. Równie dobrze można mieć jakieś event queue i wywołanie asynchroniczne dodaje nowe zadanie do kolejki, która jest potem kiedyś przetwarzana.

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