Aktywne Wpisy
PanNieznanypl +21
Miesiąc od rozstania z #rozowypasek umówiony na dzisiaj z inną, ale no totalnie nie chce mi się iść xD straciłem kompletnie zaangażowanie tak mnie złamała ex, znam już zasady tej gry i w zasadzie jestem w stanie poderwać większość lasek ale nie chcę, nie chce się angażować, nie że boję się odrzucenia bo za dużo już mi się ich przewinęło w życiu, ale totalnie wiem, że to kolejna dziewczyna poderwana według tego
Maurelius +894
#programowanie
W przypadku Javy będzie to między innymi wszystko co mieliśmy w obsłudze I/O czyli pakiety java.io i java.nio - a co nawet 25+ lat temu ze względów wydajności zostało napisane w natywnym C/C++. No i trzeba to zrobić tak, żeby zachować kompatybilność wsteczną dla wszystkiego co na podstawie tych API zostało
Natomiast async/await umożliwia tzw. structured concurrency. Czyli mogę zrobić sobie coś takiego:
async fn network_request_foo(...) {...}
async fn network_request_bar(...) {...}
let
No nie, może w Pythonie tak trzeba, ale generalnie jak masz funkcję blokującą to przerobić ją na async jest balalnie proste, dajesz w
spawn_blocking
i leci. W drugą stronę zawsze można użyć runtime który działa na bieżącym wątku, więc funkcę async można też wywołać spoza kontekstu async.To teraz pokaż, jak za pomoca async/await zrobisz coś, co działa przez dłuższy czas (albo do końca trwania programu) i jest różnych momentach wywoływane z różną częstotliwością. Tym samym kodem to pokaż. ( ͡° ͜ʖ ͡
Przykłądy w dokumentacji są sprawdzane kompilatorem, więc na pewno się kompiluje.
Jak ma być wywoływane periodycznie przez dłuższy czas, to np. mogę posłużyć się
channel to nie jest odpowiednik
make chan
(skąd to wziąłeś w ogóle?), coś pomyliłeś, konkretnie inicjalizację z typem danych.Poza tym, w Ruście channele możesz używać z czym chcesz, w tym z
ehe, a w Rust typy definiujemy za nazwą zmiennych, trochę inaczej niż w C/Cpp/javie ;)
W ogóle można by sporo podyskutować z tym postem, ale wolę nie, staram się