Wpis z mikrobloga

Zacząłem się uczyć Pythona trochę żeby poczuć się jak ci hipisi z lat 70.

Przypadkiem natknąłem się na informację, że Python nie umie into multi threading.
Dla mnie to jest jakaś paranoja. 2019 mamy ()

Co macie pytoniarze na swoją obronę?

Niby się słyszy, że Python taki do przodu, że uczenie maszynowe.
No ale jak to ma działać wszystko na jednym rdzeniu CPU? ()

Oświećcie mnie
#python #programowanie
  • 13
python to jezyk *skryptowy* jak np bash i jako taki do okreslonych zastosowan sprawuje sie wysmienicie. Dobieraj narzedzia do zastosowan, szybka automatyzacja bez kompilacji? Python wygranko. Wydajny wielowatkowy kod? Czemu nie rust chocby.

A brak wsparcia dla wielowatkowosci w jezyku nie oznacza ze nie da sie jej osiagnac uzywajac bibliotek, i te python posiada
@budyn: @benwatkins: umie w oba, tylko jest GIL, czyli blokada na interpreterze, która powoduje, że tylko jeden proces na raz może działać wewnątrz VM. Oznacza to, że np. jeśli mamy wiele procesów, które dużo czekają na IO, to GIL nie będzie nam przeszkadzał (bo jeden proces działa w czasie gdy reszta czeka na IO).
@benwatkins: nie wiem, nie używam Pythona i niespecjalnie go lubię. A źle napisany kod na wielu wątkach potrafi być znacznie wolniejszy niż jeden wątek.

Trzeba jeszcze też umieć programowanie współbieżne od programowania równoległego, wtedy można zacząć rozmawiać.
@Hauleth: W pythonie sie raczej uzywa threadingu do jakiś workerów, albo clientów tak aby nie główny wątek nie był zaburzony jakimiś operacjami które mogą chodzić 'w tle', a nie do szybszego liczenia. Znowu: chcesz szybciej liczyć -> c/cpp.