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).
http://msdn.microsoft.com/en-us/library/system.threading.semaphoreslim.aspx Aby utworzyć semafor, muszę podać liczbę początkową i maksymalną. MSDN stwierdza, że początkowa liczba to - Początkowa liczba żądań semafora, które mogą być przyznane jednocześnie. Chociaż stwierdza, że maksymalna liczba to Maksymalna liczba żądań semafora, które mogą być przyznane jednocześnie. Rozumiem, że maksymalna liczba to maksymalna liczba wątków, które …
Na początek pozwolę sobie wyrzucić, że wiem, że poniższy kod nie jest bezpieczny dla wątków (poprawka: może być). To, z czym się zmagam, to znalezienie implementacji, która jest taka, której faktycznie mogę się nie udać podczas testów. W tej chwili refaktoryzuję duży projekt WCF, który potrzebuje (głównie) danych statycznych w …
Na dzień 15/2/2012 nie znalazłem jeszcze dobrego wyjaśnienia ani powodu, dla którego to nie działa. Najbliższym rozwiązaniem jest użycie tradycyjnego podejścia Thread , ale w takim razie po co dołączać klasę, która (wydaje się) nie działać w Android SDK? Nawet TAK! Mam podklasę AsyncTask: // ParseListener had a callback which …
Próbuję czegoś nowego w systemie Android, dla którego muszę uzyskać dostęp do programu obsługi wątku interfejsu użytkownika. Wiem co następuje: Wątek interfejsu użytkownika ma własny program obsługi i pętlę Każda wiadomość zostanie umieszczona w kolejce komunikatów wątku interfejsu użytkownika Looper odbiera zdarzenie i przekazuje je do procedury obsługi Program obsługi …
Mam ArrayList, którego chcę użyć do przechowywania obiektów RaceCar, które rozszerzają klasę Thread, gdy tylko zostaną zakończone. Klasa o nazwie Race obsługuje tę ArrayList przy użyciu metody wywołania zwrotnego, którą obiekt RaceCar wywołuje po zakończeniu wykonywania. Metoda wywołania zwrotnego addFinisher (RaceCar finisher) dodaje obiekt RaceCar do ArrayList. Ma to na …
Poniższy kod prowadzi do java.lang.IllegalThreadStateException: Thread already startedsytuacji, gdy wywołałem start()metodę po raz drugi w programie. updateUI.join(); if (!updateUI.isAlive()) updateUI.start(); Dzieje się to za drugim razem updateUI.start(). Przechodziłem przez to wiele razy, a wątek jest wywoływany i całkowicie biegnie do końca przed uderzeniem updateUI.start(). Wywołanie updateUI.run()pozwala uniknąć błędu, ale powoduje, …
Słyszałem, że i ++ nie jest instrukcją bezpieczną dla wątków, ponieważ w asemblerze ogranicza się do przechowywania oryginalnej wartości gdzieś jako temp, zwiększania jej, a następnie zastępowania, co może zostać przerwane przez zmianę kontekstu. Zastanawiam się jednak nad ++ i. O ile wiem, sprowadziłoby się to do pojedynczej instrukcji asemblacyjnej, …
Po pierwsze, naprawdę głupie pytanie, zastanawiałem się tylko, co oznacza czekanie „parking”? Czy wątek czeka na zaparkowanie, czy właśnie został zaparkowany i dlatego jest w stanie oczekiwania? A kiedy to nastąpi, ile zasobów procesora / pamięci jest pobieranych? Jaki jest cel parkowania wątku? Po drugie, patrząc na metodę parkowania w …
Jestem trochę zdezorientowany co do użycia std::condition_variable. Rozumiem, że trzeba stworzyć unique_lockna zasadzie mutexprzed wywołaniem condition_variable.wait(). Nie mogę znaleźć, czy powinienem również uzyskać unikalną blokadę przed wywołaniem, notify_one()czy notify_all(). Przykłady na cppreference.com są sprzeczne. Na przykład strona notify_one podaje następujący przykład: #include <iostream> #include <condition_variable> #include <thread> #include <chrono> std::condition_variable …
Oto kod, który mam, ale nie rozumiem, co SemaphoreSlimrobi. async Task WorkerMainAsync() { SemaphoreSlim ss = new SemaphoreSlim(10); List<Task> trackedTasks = new List<Task>(); while (DoMore()) { await ss.WaitAsync(); trackedTasks.Add(Task.Run(() => { DoPollingThenWorkAsync(); ss.Release(); })); } await Task.WhenAll(trackedTasks); } void DoPollingThenWorkAsync() { var msg = Poll(); if (msg != null) { …
Pobieram PHP dla systemu Windows. Na stronie mam 2 opcje. Bezpieczny wątek PHP PHP Non-Thread Safe Proszę odpowiedzieć na następujące pytania: Jaka jest różnica między nimi? Jakie są zalety i wady w stosunku do siebie? Tworzę stronę e-commerce, która będzie miała duży ruch, która jest bardziej polecana i dlaczego?
Jaka jest dokładnie funkcja globalnej blokady interpretera języka Python? Czy inne języki, które są kompilowane do kodu bajtowego, wykorzystują podobny mechanizm?
Kiedy jest właściwe użycie Monitorklasy lub locksłowa kluczowego dla bezpieczeństwa wątków w C #? EDYCJA: Z dotychczasowych odpowiedzi wynika, że lockjest to krótka ręka na serię wezwań do Monitorklasy. Do czego dokładnie służy krótka ręka blokady? Albo bardziej wyraźnie, class LockVsMonitor { private readonly object LockObject = new object(); public …
Czy jest jakieś dobre i krótkie wyjaśnienie, jak działają aktorzy w porównaniu z wątkami? Czy wątek nie może być postrzegany jako aktor i wysyłać wiadomości do innych wątków? Widzę pewną różnicę, ale nie jest to dla mnie takie jasne. Czy mogę używać aktorów w dowolnym języku, używając wątków w inny …
Zrobiłem trochę badań na ten temat, ale nadal jestem BARDZO zdezorientowany, delikatnie mówiąc. Czy ktoś może podać mi konkretny przykład, kiedy używać, Taska kiedy używać Platform.runLater(Runnable);? Jaka dokładnie jest różnica? Czy istnieje złota zasada, kiedy należy używać któregokolwiek z nich? Popraw mnie również, jeśli się mylę, ale czy te dwa …
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.