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).
Jeśli zsynchronizowałem dwie metody w tej samej klasie, czy mogą one działać jednocześnie na tym samym obiekcie ? na przykład: class A { public synchronized void methodA() { //method A } public synchronized void methodB() { // method B } } Wiem, że nie mogę uruchomić methodA()dwa razy tego samego …
Mam scenariusz, w którym mam wiele wątków dodających do kolejki i wiele wątków odczytujących z tej samej kolejki. Jeśli kolejka osiągnie określony rozmiar, wszystkie wątki , które wypełniają kolejkę, zostaną zablokowane przy dodawaniu, dopóki element nie zostanie usunięty z kolejki. Poniższe rozwiązanie jest tym, czego teraz używam, a moje pytanie …
W moim programie używam wielowątkowości w Javie. Uruchomiłem wątek pomyślnie, ale kiedy używam Thread.wait(), rzuca java.lang.IllegalMonitorStateException. Jak mogę sprawić, by wątek czekał, aż zostanie powiadomiony?
newCachedThreadPool() przeciw newFixedThreadPool() Kiedy powinienem użyć jednego lub drugiego? Która strategia jest lepsza pod względem wykorzystania zasobów?
Podczas pisania aplikacji wielowątkowych jednym z najczęściej występujących problemów są zakleszczenia. Moje pytania do społeczności to: Co to jest impas? Jak je wykrywasz? Czy sobie z nimi radzisz? I wreszcie, jak im zapobiegasz?
Stworzyłem prosty program w java: public static void main(String[] args) throws InterruptedException { while (true) ; } Jeśli uruchomię to na komputerze z systemem Linux, pokazuje 100% użycie procesora, ale nie powoduje spowolnienia systemu operacyjnego. Jeśli jednak uruchomię dokładnie ten sam kod w systemie Windows, pokazuje on tylko około 20% …
Szukam dobrych pomysłów na implementację ogólnego sposobu wykonywania pojedynczego wiersza (lub anonimowego delegata) kodu z przekroczeniem limitu czasu. TemperamentalClass tc = new TemperamentalClass(); tc.DoSomething(); // normally runs in 30 sec. Want to error at 1 min Szukam rozwiązania, które będzie można elegancko zaimplementować w wielu miejscach, w których mój kod …
Co w tym kodzie oznaczają dwa łączenia i przerwy? t1.join()powoduje t2zatrzymanie do t1zakończenia? Thread t1 = new Thread(new EventThread("e1")); t1.start(); Thread t2 = new Thread(new EventThread("e2")); t2.start(); while (true) { try { t1.join(); t2.join(); break; } catch (InterruptedException e) { e.printStackTrace(); } }
W javadoc dla ConcurrentHashMap jest następujący: Operacje pobierania (w tym get) na ogół nie blokują się, więc mogą nakładać się na operacje aktualizacji (w tym operacje przesyłania i usuwania). Pobieranie odzwierciedla wyniki ostatnio zakończonych operacji aktualizacji, które miały miejsce w momencie ich rozpoczęcia. W przypadku operacji zagregowanych, takich jak putAll …
W wątku tworzę kilka System.Threading.Taski rozpoczynam każde zadanie. Kiedy robię a, .Abort()aby zabić wątek, zadania nie są przerywane. Jak mogę przesłać plik .Abort()do moich zadań?
Mam problem z wątkami w Pythonie i wysyłaniem ciągu w argumentach. def processLine(line) : print "hello"; return; . dRecieved = connFile.readline(); processThread = threading.Thread(target=processLine, args=(dRecieved)); processThread.start(); Gdzie dRecieved to ciąg jednego wiersza odczytywanego przez połączenie. Wywołuje prostą funkcję, która w tej chwili ma tylko jedno zadanie drukowania „cześć”. Jednak pojawia …
Zauważyłem, że często sugeruje się używanie kolejek z wieloma wątkami zamiast list i .pop(). Czy dzieje się tak, ponieważ listy nie są bezpieczne dla wątków lub z innego powodu?
Motywacja: powód, dla którego rozważam to, że mój genialny kierownik projektu uważa, że doładowanie jest kolejną zależnością i że jest okropne, ponieważ "jesteś od niego zależny" (próbowałem wyjaśnić jakość wzmocnienia, ale po pewnym czasie zrezygnowałem :( Mniejszym powodem, dla którego chciałbym to zrobić, jest to, że chciałbym nauczyć się funkcji …
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.