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).
Duplikuję istniejącą aplikację Objective-C TV Show do nowej wersji Swift przy użyciu Xcode 6.1 i mam pewne problemy z CoreData. Stworzyłem model 4 jednostek, utworzyłem ich podklasę NSManagedObject (w Swift), a wszystkie pliki mają ustawione odpowiednie cele aplikacji (dla „Źródła kompilacji”). Nadal pojawia się ten błąd za każdym razem, gdy …
W mojej aplikacji mam metodę statyczną, która jest wywoływana z wielu wątków w tym samym czasie. Czy istnieje niebezpieczeństwo pomylenia moich danych? W mojej pierwszej próbie metoda nie była statyczna i tworzyłem wiele instancji tej klasy. W takim przypadku moje dane zostały w jakiś sposób pomieszane. Nie jestem pewien, jak …
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(); …
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ę)?
począwszy od Rails 4 , wszystko musiało domyślnie działać w środowisku wątkowym. Oznacza to, że cały kod, który piszemy ORAZ wszystkie klejnoty, których używamy, muszą byćthreadsafe więc mam kilka pytań na ten temat: co NIE jest bezpieczne dla wątków w Ruby / Rails? Vs Co jest bezpieczne dla gwintów w …
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?
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 …
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 …
Wątki powinny rozpoczynać się w tym samym ułamku sekundy. Rozumiem, że jeśli to zrobisz thread1.start(), kolejne uruchomienie zajmie kilka milisekund thread2.start(). Czy to w ogóle możliwe czy niemożliwe?
Czy istnieje sposób tworzenia wątków do uruchamiania wielu metod jednocześnie? W ten sposób, jeśli jakakolwiek metoda zawiedzie pomiędzy wszystkimi innymi wątkami, powinna zostać zabita.
W moim kodzie mam pętlę, która czeka na zmianę stanu z innego wątku. Drugi wątek działa, ale moja pętla nigdy nie widzi zmienionej wartości. Czeka wiecznie. Jednak kiedy umieszczam System.out.printlninstrukcję w pętli, nagle działa! Czemu? Oto przykład mojego kodu: class MyHouse { boolean pizzaArrived = false; void eatPizza() { while …
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 …
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 …
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.