Pytania otagowane jako concurrency

W informatyce współbieżność jest właściwością systemów, w których można wykonać wiele obliczeń w nakładających się okresach. Obliczenia mogą być wykonywane na wielu rdzeniach w tym samym układzie, zapobiegawczo podzielonych czasowo wątkach na tym samym procesorze lub wykonywane na fizycznie oddzielonych procesorach.

2
Zdezorientowany UPDLOCK, HOLDLOCK
Badając zastosowanie podpowiedzi do tabeli , natknąłem się na te dwa pytania: Jakich wskazówek dotyczących blokad powinienem używać (T-SQL)? Jaki wpływ ma HOLDLOCK na UPDLOCK? Odpowiedzi na oba pytania mówią, że podczas używania (UPDLOCK, HOLDLOCK)inne procesy nie będą w stanie odczytać danych z tej tabeli, ale tego nie widziałem. Aby …


2
Co dokładnie robi runtime.Gosched?
W wersji poprzedzającej wydanie go 1.5 strony internetowej Tour of Go , istnieje fragment kodu, który wygląda następująco. package main import ( "fmt" "runtime" ) func say(s string) { for i := 0; i < 5; i++ { runtime.Gosched() fmt.Println(s) } } func main() { go say("world") say("hello") } Wynik …
86 concurrency  go 

9
Node.js lub Erlang
Bardzo podoba mi się te narzędzia, jeśli chodzi o poziom współbieżności, z jakim mogą sobie poradzić. Erlang / OTP wygląda na znacznie bardziej stabilne rozwiązanie, ale wymaga dużo więcej nauki i dużo nurkowania w funkcjonalnym paradygmacie języka. I wygląda na to, że Erlang / OTP znacznie poprawia to, jeśli chodzi …

13
Napisz program, który z pewnością wpadnie w impas [zamknięty]
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 5 lat temu . Popraw to pytanie Niedawno zadawano mi te pytania w wywiadzie. Odpowiedziałem, że zakleszczenie występuje, gdy …

8
Jak czekać na kilka kontraktów futures?
Załóżmy, że mam kilka przyszłości i muszę poczekać, aż którakolwiek z nich zawiedzie lub wszystkie odniosą sukces. Na przykład niech istnieją 3 futures: f1, f2, f3. Jeśli się f1powiedzie i f2zawiedzie, nie czekam na f3(i zwracam błąd klientowi). Jeśli f2zawiedzie podczas f1i f3nadal działają, nie czekam na nie (i zwracam …

7
Java: ExecutorService, który blokuje przesyłanie po określonym rozmiarze kolejki
Próbuję zakodować rozwiązanie, w którym pojedynczy wątek wytwarza zadania intensywnie korzystające z operacji we / wy, które można wykonywać równolegle. Każde zadanie ma znaczące dane w pamięci. Dlatego chcę mieć możliwość ograniczenia liczby zadań oczekujących w danej chwili. Jeśli utworzę ThreadPoolExecutor w ten sposób: ThreadPoolExecutor executor = new ThreadPoolExecutor(numWorkerThreads, numWorkerThreads, …


5
Współbieżny słownik Prawidłowe użycie
Czy mam rację sądząc, że jest to właściwe użycie słownika współbieżnego private ConcurrentDictionary<int,long> myDic = new ConcurrentDictionary<int,long>(); //Main thread at program startup for(int i = 0; i < 4; i++) { myDic.Add(i, 0); } //Seperate threads use this to update a value myDic[InputID] = newLongValue; Nie mam blokad itp. I …


2
Dlaczego w Kotlinie nie ma słów kluczowych współbieżnych?
Dlaczego nie ma słów kluczowych do synchronizacji / współbieżności? Jak dotąd moje badania dają mi jedno rozwiązanie - zawijasz kilka klas wysokiego poziomu i używasz ich do obsługi współbieżności. Biorąc pod uwagę projekt w czystym Kotlinie, co należy zrobić, jeśli istnieje potrzeba małego, wysoce zoptymalizowanego komponentu, który obsługuje współbieżność itp.? …

4
Łapanie wartości zwracanych z gorutynów
Poniższy kod powoduje błąd kompilacji z komunikatem „nieoczekiwane zakończenie”: x := go doSomething(arg) func doSomething(arg int) int{ ... return my_int_value } Wiem, że mogę pobrać wartość zwracaną, jeśli wywołam funkcję normalnie, bez użycia goroutine. Lub mogę użyć kanałów itp. Moje pytanie brzmi: dlaczego nie można pobrać takiej wartości zwracanej z …

6
Jak przerwać BlockingQueue, które blokuje się przy take ()?
Mam klasę, która pobiera obiekty z a BlockingQueuei przetwarza je, wywołując take()w ciągłej pętli. W pewnym momencie wiem, że do kolejki nie zostaną dodane żadne obiekty. Jak przerwać take()metodę, aby przestała blokować? Oto klasa przetwarzająca obiekty: public class MyObjHandler implements Runnable { private final BlockingQueue<MyObj> queue; public class MyObjHandler(BlockingQueue queue) …

5
Rozwiązywanie żenująco równoległych problemów przy użyciu wieloprocesorowości Pythona
W jaki sposób można wykorzystać przetwarzanie wieloprocesowe, aby rozwiązać kłopotliwie równoległe problemy ? Żenująco równoległe problemy zazwyczaj składają się z trzech podstawowych części: Odczytaj dane wejściowe (z pliku, bazy danych, połączenia TCP itp.). Uruchom obliczenia na danych wejściowych, gdzie każde obliczenie jest niezależne od innych obliczeń . Zapisz wyniki obliczeń …

10
Django: Jak mogę zabezpieczyć się przed jednoczesną modyfikacją wpisów w bazie danych
Czy istnieje sposób ochrony przed równoczesnymi modyfikacjami tego samego wpisu w bazie danych przez dwóch lub więcej użytkowników? Dopuszczalne byłoby wyświetlenie komunikatu o błędzie użytkownikowi wykonującego drugą operację zatwierdzenia / zapisania, ale dane nie powinny być po cichu nadpisywane. Myślę, że blokowanie wpisu nie wchodzi w grę, ponieważ użytkownik może …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.