Pytania otagowane jako multithreading

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).



6
CountDownLatch vs Semaphore
Czy jest jakaś korzyść z używania java.util.concurrent.CountdownLatch zamiast java.util.concurrent.Semaphore ? O ile wiem, poniższe fragmenty są prawie równoważne: 1. Semafor final Semaphore sem = new Semaphore(0); for (int i = 0; i < num_threads; ++ i) { Thread t = new Thread() { public void run() { try { doStuff(); …


16
poczekaj, aż wszystkie wątki zakończą swoją pracę w java
Piszę aplikację, która ma 5 wątków, które jednocześnie pobierają informacje z sieci i wypełniają 5 różnych pól w klasie bufora. Muszę sprawdzić poprawność danych w buforze i przechowywać je w bazie danych, gdy wszystkie wątki zakończyły swoją pracę. Jak mogę to zrobić (otrzymać powiadomienie, gdy wszystkie wątki zakończą swoją pracę)?



4
Co to jest blokada ponownego wejścia i ogólnie koncepcja?
Zawsze się mylę. Czy ktoś mógłby wyjaśnić, co oznacza Reentrant w różnych kontekstach? I dlaczego miałbyś chcieć użyć ponownego wtajemniczenia vs. niewracającego? Powiedz prymitywy blokujące pthread (posix), czy są one ponownie wchodzące, czy nie? Jakich pułapek należy unikać podczas ich używania? Czy mutex powraca?

28
Proste przykłady impasu
Chciałbym wyjaśnić początkującym wątki zakleszczeń. Widziałem w przeszłości wiele przykładów zakleszczeń, niektóre wykorzystujące kod, a niektóre wykorzystujące ilustracje (jak słynne 4 samochody ). Istnieją również klasyczne problemy , które można łatwo zablokować, takie jak The Dining Philosophers , ale mogą one być zbyt złożone, aby prawdziwy nowicjusz mógł je w …

3
Właściwy sposób na realizację niekończącego się zadania. (Liczniki czasu a zadanie)
Tak więc moja aplikacja musi wykonywać akcję prawie w sposób ciągły (z przerwą około 10 sekund między każdym uruchomieniem) tak długo, jak działa lub żądane jest anulowanie. Praca, którą musi wykonać, może zająć do 30 sekund. Czy lepiej jest użyć System.Timers.Timer i użyć funkcji AutoReset, aby upewnić się, że nie …




9
Synchronizowanie dostępu do SimpleDateFormat
Dokument javadoc dla SimpleDateFormat stwierdza, że ​​SimpleDateFormat nie jest zsynchronizowany. „Formaty dat nie są synchronizowane. Zaleca się tworzenie oddzielnych wystąpień formatu dla każdego wątku. Jeśli wiele wątków jednocześnie uzyskuje dostęp do formatu, należy go synchronizować zewnętrznie”. Ale jakie jest najlepsze podejście do korzystania z wystąpienia SimpleDateFormat w środowisku wielowątkowym. Oto …

8
Synchronizacja pola innego niż końcowe
Ostrzeżenie jest wyświetlane za każdym razem, gdy przeprowadzam synchronizację w nieostatecznym polu klasy. Oto kod: public class X { private Object o; public void setO(Object o) { this.o = o; } public void x() { synchronized (o) // synchronization on a non-final field { } } } więc zmieniłem kodowanie …

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.