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).
Chciałbym poznać różnicę między CompletableFuture, Futurea Observable RxJava. Wiem, że wszystko jest asynchroniczne, ale Future.get() blokuje wątek CompletableFuture podaje metody wywołania zwrotnego RxJava Observable--- podobnie jak w CompletableFutureprzypadku innych korzyści (nie jestem pewien) Na przykład: jeśli klient musi wykonać wiele wywołań usług, a kiedy korzystamy Futures(Java) Future.get()będzie wykonywany sekwencyjnie ... …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
Jeśli mam 2 zsynchronizowane metody w tej samej klasie, ale każda ma dostęp do różnych zmiennych, czy 2 wątki mogą uzyskać dostęp do tych 2 metod jednocześnie? Czy blokada występuje na obiekcie, czy staje się tak specyficzna jak zmienne w zsynchronizowanej metodzie? Przykład: class X { private int a; private …
Mam metodę: private static void Method() { Console.WriteLine("Method() started"); for (var i = 0; i < 20; i++) { Console.WriteLine("Method() Counter = " + i); Thread.Sleep(500); } Console.WriteLine("Method() finished"); } I chcę rozpocząć tę metodę w nowym zadaniu. Mogę rozpocząć nowe zadanie w ten sposób var task = Task.Factory.StartNew(new Action(Method)); …
Jaka jest różnica między nicią a włóknem? Słyszałem o włóknach z rubinu i czytałem, że są one dostępne w innych językach, czy ktoś mógłby mi wyjaśnić w prosty sposób, jaka jest różnica między nitką a włóknem.
Czy ktoś może mi pomóc zrozumieć, czym CountDownLatchjest Java i kiedy z niej korzystać? Nie mam bardzo jasnego pojęcia o tym, jak działa ten program. Jak rozumiem, wszystkie trzy wątki zaczynają się od razu i każdy wątek wywoła CountDownLatch po 3000ms. Więc odliczanie zmniejszy się jeden po drugim. Gdy zatrzask …
POSIX pozwala rekursywnym muteksom. Oznacza to, że ten sam wątek może dwa razy zablokować ten sam muteks i nie zablokuje się. Oczywiście musi również odblokować go dwa razy, w przeciwnym razie żaden inny wątek nie może uzyskać muteksu. Nie wszystkie systemy obsługujące pthreads również obsługują rekurencyjne muteksy, ale jeśli chcą …
java.util.concurrentInterfejs API zapewnia klasę o nazwie as Lock, która w zasadzie serializowałaby kontrolę w celu uzyskania dostępu do zasobu krytycznego. Daje metodę taką jak park()i unpark(). Możemy zrobić podobne rzeczy, jeśli możemy użyć synchronizedsłowa kluczowego oraz użycia wait()i notify() notifyAll()metod. Zastanawiam się, który z nich jest lepszy w praktyce i …
Jestem trochę zdezorientowany Parallel.ForEach. Co to jest Parallel.ForEachi co dokładnie robi? Proszę nie odwoływać się do żadnego łącza MSDN. Oto prosty przykład: string[] lines = File.ReadAllLines(txtProxyListPath.Text); List<string> list_lines = new List<string>(lines); foreach (string line in list_lines) { //My Stuff } Jak mogę przepisać ten przykład Parallel.ForEach?
Samouczki Java mówią, że tworzenie wątku jest kosztowne. Ale dlaczego dokładnie jest to drogie? Co dokładnie dzieje się, gdy tworzony jest wątek Java, który powoduje, że jego tworzenie jest kosztowne? Przyjmuję to stwierdzenie za prawdziwe, ale interesuje mnie tylko mechanika tworzenia wątków w JVM. Narzut cyklu życia nici. Tworzenie wątków …
Uświadomiłem sobie boleśnie, jak często trzeba pisać następujący wzorzec kodu w kodzie GUI sterowanym zdarzeniami, gdzie private void DoGUISwitch() { // cruisin for a bruisin' through exception city object1.Visible = true; object2.Visible = false; } staje się: private void DoGUISwitch() { if (object1.InvokeRequired) { object1.Invoke(new MethodInvoker(() => { DoGUISwitch(); })); …
Jeśli mam klasę util ze statycznymi metodami, które będą wywoływać funkcje Hibernate w celu uzyskania podstawowego dostępu do danych. Zastanawiam się, czy wykonanie tej metody synchronizedjest właściwym podejściem do zapewnienia bezpieczeństwa nici. Chcę, aby to uniemożliwiło dostęp do informacji do tej samej instancji bazy danych. Jednak jestem teraz pewien, czy …
Mam wielowątkowy program w Pythonie i funkcję narzędziową writeLog(message), która zapisuje znacznik czasu, po którym następuje komunikat. Niestety, wynikowy plik dziennika nie wskazuje, który wątek generuje dany komunikat. Chciałbym writeLog()móc dodać coś do wiadomości, aby określić, który wątek ją wywołuje. Oczywiście mógłbym po prostu zmusić wątki do przekazywania tych informacji, …
Nigdy wcześniej nie korzystałem z wątków w C #, w których muszę mieć dwa wątki, a także główny wątek interfejsu użytkownika. Zasadniczo mam następujące. public void StartTheActions() { //Starting thread 1.... Thread t1 = new Thread(new ThreadStart(action1)); t1.Start(); // Now, I want for the main thread (which is calling `StartTheActions` …
Mam nadzieję, że ktoś może udzielić pewnego wglądu w to, co zasadniczo różni się w wirtualnej maszynie Java, która pozwala jej ładnie implementować wątki bez potrzeby globalnej blokady interpretera (GIL), podczas gdy Python wymaga takiego zła.
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.