Wielowątkowość to zdolność komputera lub programu do wykonywania pracy jednocześnie lub asynchronicznie poprzez wykorzystanie wielu współbieżnych strumieni wykonania (ogólnie nazywanych wątkami).
Widzę wiele osób w postach na blogach i tutaj na SO, które unikają lub odradzają używanie tej Threadklasy w najnowszych wersjach C # (i mam na myśli oczywiście 4.0+, z dodatkiem Task& friends). Jeszcze wcześniej toczyły się dyskusje na temat tego, że zwykły stary wątek może w wielu przypadkach zostać …
Moje pytanie dotyczy tego pytania zadanego wcześniej. W sytuacjach, w których używam kolejki do komunikacji między wątkami producenta i konsumenta, czy ludzie ogólnie zalecają używanie LinkedBlockingQueuelub ConcurrentLinkedQueue? Jakie są zalety / wady używania jednego nad drugim? Główną różnicą, którą widzę z perspektywy API, jest to, że LinkedBlockingQueuemoże być opcjonalnie ograniczony.
Bardzo często używa się prywatnego statycznego obiektu tylko do odczytu do blokowania w wielowątkowości. Rozumiem, że prywatny zmniejsza punkty wejścia do obiektu blokującego poprzez uszczelnienie hermetyzacji, a tym samym dostęp do najistotniejszych. Ale dlaczego statyczne? private static readonly object Locker = new object(); Na końcu pole jest używane tylko w …
Okazało się, że w Pythonie 3.4 istnieje kilka różnych bibliotek dla wieloprocesorowe / gwintowania: wieloprocesorowe vs gwintowania vs asyncio . Ale nie wiem, którego użyć, czy jest to „zalecane”. Czy robią to samo, czy różnią się? Jeśli tak, który z nich jest używany do czego? Chcę napisać program korzystający z …
Zawsze miałem wrażenie, że używanie ThreadPool do (powiedzmy niekrytycznych) krótkotrwałych zadań w tle jest uważane za najlepszą praktykę, nawet w ASP.NET, ale potem natknąłem się na ten artykuł, który wydaje się sugerować inaczej - Argumentem jest to, że powinieneś zostawić ThreadPool, aby zająć się żądaniami związanymi z ASP.NET. Oto jak …
Natknąłem się kiedyś na node.js i bardzo to lubię. Ale wkrótce okazało się, że bardzo brakowało mu możliwości wykonywania zadań intensywnie wykorzystujących procesor. Więc zacząłem googlować i otrzymałem te odpowiedzi, aby rozwiązać problem: Włókna, Webworkers i Wątki (thread-a-gogo). Który z nich jest mylący, a jeden z nich zdecydowanie musi być …
Jak wyjść z pętli parallel.for ? Mam dość złożone oświadczenie, które wygląda następująco: Parallel.ForEach<ColorIndexHolder>(ColorIndex.AsEnumerable(), new Action<ColorIndexHolder>((ColorIndexHolder Element) => { if (Element.StartIndex <= I && Element.StartIndex + Element.Length >= I) { Found = true; break; } })); Korzystając z klasy równoległej, mogę zdecydowanie zoptymalizować ten proces. Jednak; Nie mogę dowiedzieć się, …
Eksperymentowałem z wielowątkowością i przetwarzaniem równoległym i potrzebowałem licznika, aby wykonać podstawowe zliczanie i analizę statystyczną szybkości przetwarzania. Aby uniknąć problemów z jednoczesnym używaniem mojej klasy, użyłem instrukcji lock na zmiennej prywatnej w mojej klasie: private object mutex = new object(); public void Count(int amount) { lock(mutex) { done += …
Pozwolę sobie najpierw powiedzieć, że mam całkiem spore doświadczenie w Javie, ale dopiero niedawno zainteresowałem się językami funkcjonalnymi. Niedawno zacząłem patrzeć na Scalę, która wydaje się bardzo fajnym językiem. Jednak czytałem o strukturze aktora Scali w programowaniu w Scali i jest jedna rzecz, której nie rozumiem. W rozdziale 30.4 jest …
Kiedy funkcja Thread.sleep języka Java zgłasza wyjątek InterruptedException? Czy można to bezpiecznie zignorować? Nie robię wielowątkowości. Chcę tylko poczekać kilka sekund przed ponowną próbą wykonania jakiejś operacji.
Jedna z moich metod ( Method1) tworzy nowy wątek. Ten wątek wykonuje metodę ( Method2) i podczas egzekwowania generowany jest wyjątek. Potrzebuję informacji o wyjątku w metodzie wywołującej ( Method1) Czy jest jakiś sposób, w jaki mogę złapać ten wyjątek, Method1który jest wrzucany Method2?
Jak wszyscy wiemy, wiele aplikacji na Androida wyświetla bardzo krótko biały ekran, zanim pojawi się ich pierwszy Activity. Ten problem jest obserwowany w następujących przypadkach: Aplikacje na Androida, które rozszerzają Applicationklasę globalną i wykonują w nich główne inicjalizacje. Application Przedmiot jest zawsze tworzona przed pierwszą Activity(fakt, że można zaobserwować w …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.