Pytania otagowane jako multithreading

Pytania dotyczące wielowątkowości, w tym kwestie dotyczące techniki, struktury i bezpieczeństwa.

7
Czy istnieją przestarzałe praktyki programowania wielowątkowego i wieloprocesorowego, których nie powinienem już stosować?
Na początku FORTRAN i BASIC zasadniczo wszystkie programy były pisane przy pomocy instrukcji GOTO. W rezultacie powstał kod spaghetti, a rozwiązaniem było ustrukturyzowane programowanie. Podobnie wskaźniki mogą mieć trudne do kontrolowania cechy w naszych programach. C ++ zaczęło się od wielu wskaźników, ale zalecane jest użycie referencji. Biblioteki takie jak …


3
Dlaczego nie zielone wątki?
Chociaż wiem, że pytania na ten temat zostały już omówione (np. Https://stackoverflow.com/questions/5713142/green-threads-vs-non-green-threads ), nie wydaje mi się, żebym uzyskał zadowalającą odpowiedź . Pytanie brzmi: dlaczego JVM nie obsługuje już zielonych wątków? Mówi to na często zadawanych pytaniach w stylu Java : Zielony wątek odnosi się do trybu działania wirtualnej maszyny …

6
Jak ćwiczysz współbieżność i wielowątkowość? [Zamknięte]
Czytałem o współbieżności, wielowątkowości i o tym, jak „minął bezpłatny lunch” . Ale nie miałem jeszcze możliwości korzystania z MT w mojej pracy. W związku z tym szukam sugestii na temat tego, co mogę zrobić, aby poćwiczyć procesor ciężki MT poprzez ćwiczenia lub udział w niektórych projektach typu open source. …

3
Czy GCC umiera bez obsługi wątków w systemie Windows? [Zamknięte]
Potrzebuję opinii. GCC zawsze był bardzo dobrym kompilatorem, ale ostatnio traci „atrakcyjność”. Właśnie odkryłem, że w Windows GCC nie ma std::threadwsparcia, zmuszając użytkowników Windows do korzystania z innego kompilatora, ponieważ najbardziej ekscytująca funkcja wciąż jest niedostępna. Ale dlaczego tak naprawdę GCC nadal nie obsługuje wątków w systemie Windows? Problemy z …

8
Kiedy potrzebujesz „setek tysięcy” wątków?
Erlang, Go i Rust twierdzą, że w taki czy inny sposób wspierają programowanie równoległe za pomocą tanich „wątków” / coroutines. The Go FAQ stany: Praktyczne jest tworzenie setek tysięcy goroutyn w tej samej przestrzeni adresowej. Rust Tutorial mówi: Ponieważ zadania są znacznie tańsze niż tradycyjne wątki, Rust może tworzyć setki …

2
Fałszywe wyjaśnienie budzenia brzmi jak błąd, którego nie warto naprawiać, prawda?
Według artykułu w Wikipedii na temat Spurious Wakeups „wątek może zostać przebudzony ze stanu oczekiwania, mimo że żaden wątek nie zasygnalizował zmiennej warunku”. Chociaż wiem o tej „funkcji”, nigdy nie wiedziałem, co ją spowodowało, aż w tym samym artykule „Nieprawidłowe wybudzanie może wydawać się dziwne, ale w niektórych systemach wieloprocesorowych, …

11
Nękane przez błędy wielowątkowe
W moim nowym zespole, którym zarządzam, większość naszego kodu to platforma, gniazdo TCP i kod sieci http. Wszystkie C ++. Większość pochodzi od innych programistów, którzy opuścili zespół. Obecni programiści w zespole są bardzo inteligentni, ale przede wszystkim młodsi pod względem doświadczenia. Nasz największy problem: wielowątkowe błędy współbieżności. Większość naszych …

3
Diagramy UML aplikacji wielowątkowych
W przypadku aplikacji jednowątkowych lubię korzystać ze schematów klas, aby uzyskać przegląd architektury tej aplikacji. Ten typ diagramu nie był jednak bardzo pomocny, gdy próbowano zrozumieć mocno wielowątkowe / współbieżne aplikacje, na przykład ponieważ różne instancje klasy „działały” w różnych wątkach (co oznacza, że ​​dostęp do instancji jest zapisywany tylko …

7
Czego szukasz podczas debugowania zakleszczeń?
Ostatnio pracuję nad projektami, które intensywnie wykorzystują wątki. Myślę, że jestem w porządku przy ich projektowaniu; w jak największym stopniu korzystaj z projektowania bezstanowego, blokuj dostęp do wszystkich zasobów, których potrzebuje więcej niż jeden wątek itp. Moje doświadczenie w programowaniu funkcjonalnym bardzo to pomogło. Jednak czytając kod wątku innych osób, …

4
Co zapobiega wyścigowi na śluzie?
Rozumiem podstawy tego, czym są rasy danych i jak blokady / muteksy / semafory pomagają im zapobiegać. Ale co się stanie, jeśli masz „warunek wyścigu” na samym zamku? Na przykład dwa różne wątki, być może w tej samej aplikacji, ale działające na różnych procesorach, próbują uzyskać blokadę w tym samym …

10
Maszyny stanowe a wątki
Alan Cox powiedział kiedyś : „Komputer jest maszyną stanową. Wątki są dla osób, które nie mogą programować maszyn stanowych”. Ponieważ bezpośrednie pytanie do Alana nie jest dla mnie pokorne, wolę zapytać tutaj: w jaki sposób można osiągnąć funkcjonalność wielowątkowości w języku wysokiego poziomu, takim jak Java, używając tylko jednego wątku …

6
Wielowątkowość: czy robię to źle?
Pracuję nad aplikacją do odtwarzania muzyki. Podczas odtwarzania często rzeczy muszą się dziać na osobnych wątkach, ponieważ muszą zdarzyć się jednocześnie. Na przykład, nuty potrzeby akordów do bycia wysłuchanym razem, więc każdy ma przydzielony własny wątek, aby być odtwarzane w (Edit wyjaśnienie. Wywołujący note.play()zawiesza wątek aż notatka jest gotowe do …

3
Dlaczego wielowątkowość jest często preferowana w celu poprawy wydajności?
To pytanie zostało przeniesione z przepełnienia stosu, ponieważ można na nie odpowiedzieć w programie Software Engineering Stack Exchange. Migrował 6 lat temu . Mam pytanie, chodzi o to, dlaczego programiści wydają się lubić współbieżność i programy wielowątkowe w ogóle. Rozważam tutaj 2 główne podejścia: podejście asynchroniczne oparte w zasadzie na …


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.