concurrency

Jakie są dobre zasoby do nauki programowania w wątkach? [zamknięte]

Wraz ze wzrostem liczby procesorów wielordzeniowych na pulpicie, umiejętności wielowątkowości staną się cennym atutem dla pro ... ś dobre zasoby (książki, samouczki, strony internetowe itp.) dla programisty, który chce się nauczyć programowania w wątkach?

AtomicReferenceFieldUpdater - metody set, get, compareAndSet semantyka

Z pliku Java AtomicReferenceFieldUpdater docs : Zauważ, że gwarancje metody compareAndSet w tej klasie są słabsze niż ... ą czytać te lotne pola. Również, czy mam rację, aby założyć, że "zmodyfikowany bezpośrednio" jest regularnym zapisem lotnym?

Jaki jest pożytek z wzorca SyncRoot?

Czytam książkę w języku c#, która opisuje wzór SyncRoot. Pokazuje void doThis() { lock(this){ ... } } void doThat() { ... zorca SyncRoot Eh? "obiekt instancji"? Czy ktoś może mi powiedzieć jaka jest różnica między tymi dwoma podejściami powyżej?

Jak zaimplementowana jest synchronizacja wątków na poziomie języka asemblacji?

Chociaż znam koncepcje programowania współbieżnego, takie jak muteksy i semafory, nigdy nie rozumiałem, jak są one implemento ... e wait mov [lock], edx ; I wanted an exclusive lock but the above ; three instructions are not an atomic operation :(

Czy mogę użyć zachowania forkjoinpool, aby uniknąć blokady głodowej wątku?

A Blokada głodowa wątku występuje w zwykłej puli wątków, jeśli wszystkie wątki w Puli oczekują na ukończenie zadań w kolejc ... andardowe API ExecutorService są implementowane przy użyciu ForkJoinTask s, więc nie jestem pewien, dlaczego występuje impas.

Dlaczego używanie niebuforowanego kanału w tym samym goroutine daje impas

Jestem pewien, że istnieje proste wyjaśnienie tej banalnej sytuacji, ale jestem nowy w modelu współbieżności. Kiedy uruchami ... ln(<-c) } Znowu, dlaczego ? Proszę, potrzebuję głębokiego wyjaśnienia, nie tylko jak wyeliminować impas i naprawić kod.

Jak zapewnić, że znacznik czasu jest zawsze wyjątkowy?

Używam znaczników czasu do tymczasowego porządkowania jednoczesnych zmian w moim programie i wymagam, aby każdy znacznik czas ... w czasu, a ostateczny wynik został przesunięty o pół sekundy. W rzeczywistych zastosowaniach pochylenie byłoby niezauważalne.

Jakie są ciekawe projekty do rozwiązania w Erlang w celach edukacyjnych? [zamknięte]

Niedawno odkryłem Erlang i teraz pracuję nad kilkoma tutorialami. Do tej pory nie mogę się doczekać, aby rzeczywiście wdrożyć ... czasie. Jakieś sugestie? Edit: projekt powinien najlepiej podkreślić mocne strony Erlanga (współbieżność, rozproszenie).

Pozyskiwanie/uwalnianie a sekwencyjnie spójna kolejność pamięci

Dla dowolnego std::atomic<T> gdzie T jest typem prymitywnym: Jeśli używam std::memory_order_acq_rel dla fetch_xxx ope ... operacji? Jeśli wyniki były takie same, czy to użycie jest INNE niż użycie std::memory_order_seq_cst pod względem wydajność?

Jednoczesne dodawanie wątków do ArrayList w tym samym czasie - co się dzieje?

Mamy wiele wątków wywołujących {[0] } na ArrayList. Moja teoria jest taka, że gdy {[2] } jest wywoływana jednocześnie prze ... naprawdę dodawany do ArrayList. Czy to możliwe? Jeśli tak, to jak to obejść? Użyć zsynchronizowanej kolekcji jak Vector?

Kiedy preferować LinkedBlockingQueue nad ArrayBlockingQueue?

Kiedy preferować LinkedBlockingQueue nad ArrayBlockingQueue? Jaką strukturę danych użyć wśród LinkedBlockingQueue i ArrayBlo ... Java: ArrayBlockingQueue vs. LinkedBlockingQueue Jaka jest różnica między ArrayBlockingQueue i LinkedBlockingQueue

GCD słaba wydajność

Jak zapewne pamiętacie, próbuję użyć GCD, aby przyspieszyć część mojego kodu, a mianowicie silnik wykrywania kolizji i rozdzi ... lka samouczków GCD i przejrzałem całą dokumentację i nadal czuję że moja wiedza na ten temat jest co najwyżej słaba. Dzięki!

Kiedy powinniśmy użyć wątku Javy nad Executorem?

Executor wydaje się czystą abstrakcją. Kiedy chciałbyś używać Thread bezpośrednio, a nie polegać na bardziej solidnym executorze?

Jak trudne jest Haskell multi-threading?

Słyszałem, że w Haskell tworzenie wielowątkowej aplikacji jest tak proste, jak pobranie standardowej aplikacji Haskell i skom ... st wprowadzić je do programów? Czy istnieje dobry samouczek wielowątkowy, który omawia te różne polecenia i ich zastosowania?

Instrukcja Java 8: xxxfence ()

W Javie 8 dodano trzy instrukcje bariery pamięci do Unsafe class (source): /** * Ensures lack of reordering of loads before ... tym też mile widziane (mam nadzieję, że to nie spowoduje, że to pytanie będzie offtopic jako opiniotwórcze). Z góry dzięki.

Jak zaimplementować priorytetyzację zadań przy użyciu ExecutorService w Java 5?

Wdrażam mechanizm łączenia wątków, w którym chciałbym wykonywać zadania o różnych priorytetach. Chciałbym mieć fajny mechani ... pracy o niższym priorytecie w czymś takim. Dodatkowe punkty (?!) dla rozwiązań, które mają uzasadnioną gwarancję uczciwość)

Jak założyć wątek w Clojure?

Czytałem wiele o tym, jak świetny jest Clojure, jeśli chodzi o współbieżność, ale żaden z tutoriali, które czytałem, nie wyjaśnia, jak utworzyć wątek. Do you just do (.start (Gwint. func)), a może jest inny sposób, który przegapiłem?

Iteracja linii w pliku równolegle (Scala)?

Wiem o kolekcjach równoległych w Scali. Są poręczne! Jednak chciałbym iterację nad liniami pliku, który jest zbyt duży dla ... Jaki jest najprostszy sposób na osiągnięcie podobieństwa? Na razie przeczytam w kilku linijkach i zajmę się nimi równolegle.

Jak efektywnie wykonywać wiele zadań "trochę później" w Pythonie?

Mam proces, który musi wykonać kilka czynności "później" (zwykle po 10-60 sekundach). Problem polega na tym ,że te "późniejsz ... o wątku, który śpi przez chwilę i sprawdza kolejkę), jak użyć poll lub eventloop zeromq do wykonania zadania, lub coś innego.

Android: Jeden vs wiele instancji HttpClient na aplikację

Do niedawna nasza aplikacja udostępniała pojedynczą instancję Apache HttpClient przy użyciu Menedżera ThreadSafeClientConnMan ... li udostępniasz jeden klient HttpClient w aplikacji i potencjalnie wiele równoległych wątków, jak obsługiwać dostęp do niego?