W poniższym kodzie, ze względu na interfejs, klasa LazyBarmusi zwrócić zadanie ze swojej metody (i ze względu na argumenty nie można go zmienić). Jeśli LazyBarimplementacja jest niezwykła, ponieważ zdarza się, że działa szybko i synchronicznie - jaki jest najlepszy sposób na zwrócenie zadania braku operacji z metody? Przeszedłem Task.Delay(0)poniżej, jednak …
Piszę serwer i wysyłam każdą akcję do osobnego wątku po otrzymaniu żądania. Robię to, ponieważ prawie każde żądanie wykonuje zapytanie do bazy danych. Korzystam z biblioteki wątków, aby ograniczyć budowę / niszczenie wątków. Moje pytanie brzmi: jaki jest dobry punkt odcięcia dla takich wątków we / wy? Wiem, że to …
Załóżmy, że mam aplikację, która korzysta z Executorframeworka jako takiego Executors.newSingleThreadExecutor().submit(new Runnable(){ @Override public void run(){ // do stuff } } Kiedy uruchomić tę aplikację w debugger, wątek jest tworzony z poniższej (domyślnie) imię: Thread[pool-1-thread-1]. Jak widać, nie jest to szczególnie przydatne i, o ile mogę stwierdzić, Executorframework nie zapewnia …
Jaki jest najprostszy sposób oczekiwania na ExecutorServicezakończenie wszystkich zadań ? Moje zadanie jest głównie obliczeniowe, więc chcę po prostu uruchomić dużą liczbę zadań - po jednym na każdym rdzeniu. W tej chwili moja konfiguracja wygląda następująco: ExecutorService es = Executors.newFixedThreadPool(2); for (DataTable singleTable : uniquePhrases) { es.execute(new ComputeDTask(singleTable)); } try{ …
Odpowiednie pytania : O C ++ 11: C ++ 11: std :: thread pooled? Czy async (launch :: async) w C ++ 11 sprawi, że pule wątków będą przestarzałe, aby uniknąć kosztownego tworzenia wątków? O Boost: C ++ usprawnia ponowne wykorzystanie wątków w wątku boost :: thread i tworząc ich …
Jaka jest różnica między używaniem nowego wątku a użyciem wątku z puli wątków? Jakie są korzyści z wydajności i dlaczego powinienem rozważyć użycie wątku z puli, a nie tego, który jawnie utworzyłem? Myślę tutaj szczególnie o .NET, ale ogólne przykłady są w porządku.
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 { …
Zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć, podając fakty i cytaty, edytując ten post . Zamknięte 1 rok temu . Popraw to pytanie Próbowałem nauczyć się programowania wielowątkowego w C # i …
Jest to luźno związane z tym pytaniem: czy std :: thread jest w puli w C ++ 11? . Chociaż pytanie jest inne, intencja jest taka sama: Pytanie 1: Czy nadal ma sens używanie własnych (lub biblioteki innej firmy) pul wątków, aby uniknąć kosztownego tworzenia wątków? Wniosek z drugiego pytania …
Zawsze miałem wrażenie, że używanie ThreadPool do (powiedzmy niekrytycznych) krótkotrwałych zadań w tle jest uważane za najlepszą praktykę, nawet w ASP.NET, ale potem natknąłem się na ten artykuł, który wydaje się sugerować inaczej - Argumentem jest to, że powinieneś zostawić ThreadPool, aby zająć się żądaniami związanymi z ASP.NET. Oto jak …
Mam program, który generuje wątki (~ 5-150), które wykonują kilka zadań. Początkowo użyłem a, FixedThreadPoolponieważ to podobne pytanie sugerowało, że lepiej nadają się do dłuższych zadań, a przy mojej bardzo ograniczonej wiedzy na temat wielowątkowości, uznałem średni czas życia wątków (kilka minut) za „ długi czas ”. Jednak ostatnio dodałem …
Próbuję zakodować rozwiązanie, w którym pojedynczy wątek wytwarza zadania intensywnie korzystające z operacji we / wy, które można wykonywać równolegle. Każde zadanie ma znaczące dane w pamięci. Dlatego chcę mieć możliwość ograniczenia liczby zadań oczekujących w danej chwili. Jeśli utworzę ThreadPoolExecutor w ten sposób: ThreadPoolExecutor executor = new ThreadPoolExecutor(numWorkerThreads, numWorkerThreads, …
Jak duża jest pula wątków Scali dla kontraktów terminowych? Moja aplikacja Scala zarabia wiele milionów future {}i zastanawiam się, czy jest coś, co mogę zrobić, aby je zoptymalizować, konfigurując pulę wątków. Dziękuję Ci.
Jaka jest różnica między poniższymi ThreadPool.QueueUserWorkItem vs Task.Factory.StartNew Jeśli powyższy kod jest wywoływany 500 razy dla jakiegoś długotrwałego zadania, czy oznacza to, że wszystkie wątki puli wątków zostaną zajęte? A może TPL (druga opcja) będzie wystarczająco inteligentna, aby po prostu zajmować wątki mniejsze lub równe liczbie procesorów?
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.