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).
Podczas pracy z wątkowym modelem C ++ 11 zauważyłem to std::packaged_task<int(int,int)> task([](int a, int b) { return a + b; }); auto f = task.get_future(); task(2,3); std::cout << f.get() << '\n'; i auto f = std::async(std::launch::async, [](int a, int b) { return a + b; }, 2, 3); std::cout << …
Używam bloku kodu statycznego do zainicjowania niektórych kontrolerów w rejestrze, który mam. Moje pytanie brzmi zatem, czy mogę zagwarantować, że ten statyczny blok kodu zostanie wywołany tylko raz, gdy klasa zostanie po raz pierwszy załadowana? Rozumiem, że nie mogę zagwarantować, kiedy ten blok kodu zostanie wywołany, zgaduję, że kiedy Classloader …
Myślę o tym i oto co wymyśliłem: Zobaczmy ten kod poniżej: console.clear(); console.log("a"); setTimeout(function(){console.log("b");},1000); console.log("c"); setTimeout(function(){console.log("d");},0); Przychodzi żądanie i silnik JS rozpoczyna wykonywanie powyższego kodu krok po kroku. Pierwsze dwa połączenia to połączenia synchronizacyjne. Ale jeśli chodzi o setTimeoutmetodę, staje się wykonaniem asynchronicznym. Ale JS natychmiast wraca z niego i …
Chcę, aby jakiś kod działał w tle w sposób ciągły. Nie chcę tego robić w serwisie. Czy jest inny sposób? Próbowałem zadzwonić do Threadklasy w moim, Activityale Activityprzez jakiś czas pozostaje w tle, a potem to się zatrzymuje. ThreadKlasa przestaje również działać. class testThread implements Runnable { @Override public void …
W interfejsie użytkownika, aby wykonać trochę pracy w tle, użyłem osobnego Thread. Ale jak sugerowali inni, teraz używamAsyncTask . Jaka jest główna różnica między a Threadi an AsyncTask? W którym scenariuszu powinienem użyć a Threadczy an AsyncTask?
Czy to prawda, że C ++ 0x przyjdzie bez semaforów? Istnieje już kilka pytań dotyczących przepełnienia stosu dotyczących używania semaforów. Używam ich (semaforów posix) cały czas, aby pozwolić wątkowi czekać na jakieś zdarzenie w innym wątku: void thread0(...) { doSomething0(); event1.wait(); ... } void thread1(...) { doSomething1(); event1.post(); ... } …
Chciałbym monitorować liczbę wątków używanych przez określony proces w systemie Linux. Czy istnieje łatwy sposób na uzyskanie tych informacji bez wpływu na wydajność procesu?
Jestem zdezorientowany z opisem thread_localw C ++ 11. Rozumiem, że każdy wątek ma unikalną kopię zmiennych lokalnych w funkcji. Dostęp do zmiennych globalnych / statycznych można uzyskać we wszystkich wątkach (prawdopodobnie dostęp zsynchronizowany za pomocą blokad). A thread_localzmienne są widoczne dla wszystkich wątków, ale mogą być modyfikowane tylko przez wątek, …
Proszę wyjaśnić z perspektywy Linuksa, Windowsa? Programuję w C #, czy te dwa terminy będą miały znaczenie. Publikuj tak dużo, jak możesz, z przykładami i tym podobnymi .... Dzięki
Czy wywołanie asynchroniczne zawsze tworzy nowy wątek? Jaka jest różnica między nimi? Czy wywołanie asynchroniczne zawsze tworzy lub używa nowego wątku? Wikipedia mówi : W programowaniu komputerowym zdarzenia asynchroniczne to takie, które występują niezależnie od głównego przepływu programu. Akcje asynchroniczne to akcje wykonywane w schemacie nieblokującym, które pozwalają głównemu przepływowi …
Jaki jest lepszy sposób na rozpoczęcie wątku _beginthread, _beginthreadxczy CreateThread? Próbuję ustalić, jakie są zalety / wady _beginthread, _beginthreadexi CreateThread. Wszystkie te funkcje zwracają uchwyt wątku do nowo utworzonego wątku, już wiem, że CreateThread dostarcza trochę dodatkowych informacji, gdy wystąpi błąd (można to sprawdzić, wywołując GetLastError) ... ale jakie są …
Z JavaDocs: ConcurrentLinkedQueue jest właściwym wyborem, gdy wiele wątków będzie współużytkować dostęp do wspólnej kolekcji. Ta kolejka nie zezwala na elementy puste. ArrayBlockingQueue to klasyczny „ograniczony bufor”, w którym tablica o stałej wielkości zawiera elementy wstawiane przez producentów i wyodrębniane przez konsumentów. Ta klasa obsługuje opcjonalne zasady uczciwości dotyczące zamawiania …
Mam stałą pulę wątków, do której przesyłam zadania (ograniczoną do 5 wątków). Jak mogę się dowiedzieć, który z tych 5 wątków wykonuje moje zadanie (na przykład „wątek nr 3 z 5 wykonuje to zadanie”)? ExecutorService taskExecutor = Executors.newFixedThreadPool(5); //in infinite loop: taskExecutor.execute(new MyTask()); .... private class MyTask implements Runnable { …
Do jakiego monitora odnosi się programowanie współbieżne w języku Java? Kiedy czytam, że „każdy obiekt ma powiązany monitor”, co to oznacza? Czy to specjalny obiekt?
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.