@aczutuse: Problemem Akki jest to że aktorzy mają bardzo konkretny use-case, który można ze spokojem zaadresować innymi abstrakcjami ¯_(ツ)_/¯ Podobnie rzecz ma się z Akka HTTP czy Akka Streams. Co innego Akka Cluster, gdzie tutaj faktycznie jest to jedno z lepszych rozwiązań na rynku, ale tutaj z kolei bardzo ciężko o uzasadnione użycie tego w projekcie, ponieważ większość z nich zupełnie nie potrzebuje aż takiego complexity. A nawet jeżeli potrzebuje,
  • Odpowiedz
Chce przerobić skrypt na klasy. Obecnie mam globalnego Lock() i dwie metody w których jest on wykorzystywany.
Klasa A używa Lock() do zebrania danych, a Klasa B do analizy tych danych (kopiowanie do lokalnych zmiennych).
Jak nie niszcząc zasad obiektowości przekazać Lock() do obu klas?
Chyba, że mogę w obu klasach stworzyć zmienną self.lock = threading.Lock() i będzie to działać jak do tej pory? (w co wątpię)
#python #programowanie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@xaoc 1 imo przedobrzył. Wystarczyło zrobić kopię obiektu i ją zwrócić. Niczego tym nie zyskał (dalej wymaga copy constuctable). Zresztą - dlaczego miałoby tu być race cond? Można 2x zpopować element?
  • Odpowiedz
Mirki mam pytanie co do wątków w #java
Mam dość czasochłonne zadanie, które musi być stale przeliczane i powiedzmy, że w jednej iteracji musi ono być wykonane 1000 razy. Na jedną iterację schodzi na pojedynczym wątku około 6-10 minut. Chcę każde to obliczenie wykonać na nowym wątku żeby trochę szybciej to zeszło. Doczytałem na SO o ExecutorService.
Ktoś nawet podrzucił kod:

ExecutorService es = Executors.newCachedThreadPool();
for(int i=0;i<5;i++)
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki, co może powodować błędy po rozbiciu pętli na wątki?

Mam na myśli taką sytuację w uproszczonym modelu.

Mam pętlę która wykonuje operacje na tablicy 3D metodą iteracyjną rozbitą na 3 zagnieżdżone pętle for:

for(int
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Ziom_Bel: inny sposób, pseudo-javakod dla głównego wątku. W którymś z wątków liczących musisz wywołać notify na zakończenie przetwarzania...

//globalnie

Object object = new
  • Odpowiedz
@hbpitero: Według mnie o niczym nie zapomniałem. Główny wątek wyjdzie z wait dopiero, jak wątek liczący wywoła notify, nie ma potrzeby wprowadzania jakiejkolwiek zmiennej boolowskiej.
  • Odpowiedz