concurrency

Jak CopyOnWriteArrayList może być bezpieczny dla wątków?

Zajrzałem do kodu źródłowego OpenJDK z CopyOnWriteArrayList i wydaje się, że wszystkie operacje zapisu są chronione tą samą ... -2(copyOf)-3. Czy źle Rozumiem JMM, czy są jakieś inne wyjaśnienia dlaczego CopyOnWriteArrayList jest bezpieczne dla wątków?

Zawijanie obliczeń asynchronicznych do obliczeń synchronicznych (blokujących)

Podobne pytania: wzorzec do zawijania asynchronicznej funkcji JavaScript, aby była synchroniczna owijanie metody async ... MyNiceInterface, aby klienci skryptowi mogli z radością czekać na blokujący wątek? Edit: Czy Mogę do tego użyć FutureTask?

Efekty pamięci synchronizacji w Javie

JSR-133 FAQ says: Ale synchronizacja to coś więcej niż wzajemne wykluczenie. Synchronizacja zapewnia zapis pamięci ... yciu tej samej blokady, a tym samym nie zrzuca wartości y w pamięci podręcznej podczas wprowadzania zsynchronizowanego bloku?

Java Concurrent and Parallel GC

Ten artykuł tutaj sugeruje użycie -XX:+UseParNewGC "aby umożliwić równoległe GC młodego pokolenia z równoczesnym GC". Moi ... głe GC, powinienem użyj -XX:+UseParNewGC lub użyj obu -XX:+UseParNewGC oraz -XX:+UseConcMarkSweepGC ? PS Używam JVM 6.

Czy aktorzy Scali mogą przetwarzać wiele wiadomości jednocześnie?

Odpowiedź na moje ostatnie pytanie wskazywała, że aktor przetwarzał swoje wiadomości pojedynczo . Czy to prawda? Nie widzę n ... je się świadczyć o tym, że się mylę i że aktorzy rzeczywiście sekwencyjny. Więc to pytanie # 2, na które muszę odpowiedzieć

Lista do przyszłej sekwencji

Próbuję przekształcić List<CompletableFuture<X>> na CompletableFuture<List<T>>. Jest to bardzo przyda ... yszłość nie powiedzie się, gdy którakolwiek z przyszłości zawiedzie. Przyjęta odpowiedź również powinna dotyczyć tego punktu.

Wielordzeniowe i współbieżne-języki, Biblioteki i techniki programistyczne

Zmienił się krajobraz architektury procesora, wiele rdzeni to trend, który zmieni sposób, w jaki musimy rozwijać oprogramowan ... acę nad systemem Erlanga.]} Co jeszcze wiesz o tym, co działa dla Ciebie i co Twoim zdaniem jest interesujące do oglądania?

Używanie SQL Server jako kolejki DB z wieloma klientami

Biorąc pod uwagę tabelę, która działa jak Kolejka, jak najlepiej skonfigurować tabelę / zapytania tak, aby wielu klientów prz ... posób ludzie zwykle podchodzą do tego problemu? Wydaje mi się, że problem byłby lepiej rozwiązany przez DB, jeśli to możliwe.

jak zabezpieczyć wątek aplikacji?

Myślałem, że thread bezpieczny, w szczególności, oznacza to, że musi zaspokoić potrzebę wielu wątków, aby uzyskać dostęp do t ... zrobienia lub zadbane, aby wątek aplikacji był bezpieczny . Jeśli to możliwe, Daj odpowiedź w odniesieniu do języka C / C++.

Dlaczego warto wybrać GCD zamiast NSOperation i bloków dla aplikacji wysokiego poziomu?

Apple ' s Grand Central Dispatch reference says: "...jeśli Twoja aplikacja musi działać na poziomie Unix system-na prz ... ań wysokiego szczebla, w których stosowanie GCD jest obowiązkowe, a Nsoperacja może/nie powinna być używana. Jakieś pomysły?

Stan a mechanizm powiadamiania o czekaniu

Jaka jest zaleta używania interfejsu warunkowego / implementacji w stosunku do tradycyjnego mechanizmu powiadamiania o czekan ... e jest to bardziej obiektowy sposób implementacji mechanizmu wait/notify. Ale czy jest jakaś dobra przewaga nad tą pierwszą?

Model współbieżności: Erlang vs Clojure

Napiszemy program współbieżny za pomocą Clojure, który wyodrębni słowa kluczowe z ogromnej ilości przychodzących wiadomości, ... jnym, więc mam małe wątpliwości, czy clojure jest dobrym wyborem do napisania tego programu, czy bardziej nadaje się Erlang.

Jak działają goroutines? (lub: goroutines i OS threads relation)

W Jaki Sposób inne goroutines mogą nadal wykonywać podczas wywoływania syscall? (przy użyciu GOMAXPROCS=1) O ile mi wiadomo, ... . czekając na wejście / wyjście, inne nadal działają. Ich design skrywa wiele złożoności tworzenia wątków i zarządzanie.

Niezmienność i zmiana kolejności

Komentarz do zaakceptowanej odpowiedzi To pytanie wygenerowało o wiele więcej ciepła, niż bym sobie wyobrażał. Ważne wnios ... ległe zmiany kolejności szef. Drugi Odczyt można rzeczywiście przenieść, w kodzie, tak, że procesor robi to przed pierwszym!

quartz: zapobieganie równoczesnym wystąpieniom zadania w zadaniach.xml

To powinno być naprawdę proste. Używam Quartz działającego pod Apache Tomcat 6.0.18 i mam jobs.plik xml , który ustawia moje ... plik XML, aby używał tego wyzwalacza, a nie standardowego <trigger><simple>...</simple></trigger>.

Jak działa ConcurrentHashMap wewnętrznie?

Czytałem oficjalną dokumentację Oracle na temat współbieżności w Javie i zastanawiałem się, jaka może być różnica między Coll ... o tych wdrożeniach szczegóły? Edit: zdałem sobie sprawę, że kod źródłowy jest publicznie dostępny: ConcurrentHashMap.java

Kod pokazujący znaczenie ograniczonego regionu wykonania

Czy ktoś mógłby stworzyć krótką próbkę , która się łamie, chyba że [ReliabilityContract(Consistency.WillNotCorruptState, Cer. ... ę na MSDN i nie jestem w stanie go złamać, nawet jeśli skomentuję atrybut reliability Contract. W końcu zawsze ktoś dzwoni.

Jak rozwiązać deklarację "Double-Checked Locking is Broken" w Javie?

Chcę zaimplementować leniwą inicjalizację dla wielowątkowości w Javie. Mam taki kod: class Foo { private Helper helper ... other functions and members... } I otrzymuję deklarację "Podwójnie sprawdzona blokada jest zepsuta". Jak mogę to rozwiązać?

Co to jest współbieżność "nieblokująca" i czym różni się od zwykłej współbieżności?

Czym jest współbieżność "nieblokująca" i czym różni się od zwykłej współbieżności wykorzystującej wątki? Dlaczego nie używa ... t; list = Collections.synchronizedList(); Pytania są bardziej z punktu widzenia uczenia się/zrozumienia. Dzięki za uwagę.

Jaka jest różnica między synchronized on lockObject a używaniem tego jako blokady?

Znam różnicę między metodą zsynchronizowaną a synchronizowanym blokiem, ale nie jestem pewien co do zsynchronizowanej części ... dy? Wydaje mi się, że to samo.. Kiedy zdecydujesz się użyć synchronized block, jak zdecydujesz, który obiekt ma być blokadą?