Pytania otagowane jako multithreading

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).

5
decydujesz się na podproces, wieloprocesowość i wątek w Pythonie?
Chciałbym zsynchronizować mój program w Pythonie, aby mógł korzystać z wielu procesorów na maszynie, na której działa. Moja równoległość jest bardzo prosta, ponieważ wszystkie równoległe „wątki” programu są niezależne i zapisują swoje dane wyjściowe w oddzielnych plikach. Nie potrzebuję wątków do wymiany informacji, ale konieczne jest, aby wiedzieć, kiedy wątki …



13
Jak czekać na ukończenie kilku wątków?
Jak można po prostu zaczekać na zakończenie całego procesu gwintowanego? Na przykład, powiedzmy, że mam: public class DoSomethingInAThread implements Runnable{ public static void main(String[] args) { for (int n=0; n<1000; n++) { Thread t = new Thread(new DoSomethingInAThread()); t.start(); } // wait for all threads' run() methods to complete before …


5
Jak wybrać między Semaphore a SemaphoreSlim?
Ich publiczne interfejsy wyglądają podobnie. W dokumentacji stwierdza, że SemaphoreSlim to lekka alternatywa i nie używa semaforów jądra systemu Windows. Ten zasób stwierdza, że ​​SemaphoreSlim jest znacznie szybszy. W jakich sytuacjach SemaphoreSlim ma większy sens niż Semaphore i odwrotnie?

4
Różnica między DispatchQueue.main.async i DispatchQueue.main.sync
Od dawna używam DispatchQueue.main.asyncdo wykonywania operacji związanych z interfejsem użytkownika. Swift zapewnia zarówno DispatchQueue.main.asynci DispatchQueue.main.sync, jak i oba są wykonywane w głównej kolejce. Czy ktoś może mi powiedzieć, jaka jest między nimi różnica? Kiedy powinienem używać każdego? DispatchQueue.main.async { self.imageView.image = imageView self.lbltitle.text = "" } DispatchQueue.main.sync { self.imageView.image = …

4
przypisanie odniesienia jest niepodzielne, więc dlaczego potrzebne jest Interlocked.Exchange (ref Object, Object)?
W mojej wielowątkowej usłudze internetowej asmx miałem pole klasy _allData mojego własnego typu SystemData, które składa się z kilku List<T>i jest Dictionary<T>oznaczone jako volatile. Dane systemowe ( _allData) są od czasu do czasu odświeżane i robię to, tworząc kolejny obiekt o nazwie newDatai wypełniając jego struktury danych nowymi danymi. Kiedy …

6
Jak skalować wątki według rdzeni procesora?
Chcę rozwiązać problem matematyczny z wieloma wątkami w Javie. mój problem matematyczny można podzielić na jednostki pracy, które chcę rozwiązać w kilku wątkach. Nie chcę, aby pracowała nad nim stała liczba wątków, ale zamiast tego liczba wątków odpowiadająca liczbie rdzeni procesora. Mój problem polega na tym, że nie mogłem znaleźć …

9
Jakie są główne zastosowania yield () i czym różni się on od funkcji join () i breaking ()?
Jestem trochę zdezorientowany, jeśli chodzi o użycie yield()metody w Javie, szczególnie w przykładowym kodzie poniżej. Czytałem również, że yield () jest „używany do zapobiegania wykonaniu wątku”. Moje pytania to: Uważam, że poniższy kod yield()daje takie same wyniki zarówno podczas używania, jak i gdy go nie używasz. Czy to jest poprawne? …

9
Jak mogę propagować wyjątki między wątkami?
Mamy funkcję, do której wywołuje pojedynczy wątek (nazywamy ją głównym wątkiem). W treści funkcji tworzymy wiele wątków roboczych w celu wykonania intensywnej pracy procesora, czekamy na zakończenie wszystkich wątków, a następnie zwracamy wynik w wątku głównym. W rezultacie wywołujący może korzystać z funkcji naiwnie, a wewnętrznie będzie korzystać z wielu …

3
Bezpieczeństwo wątków w słowniku Pythona
Mam klasę, która zawiera słownik class OrderBook: orders = {'Restaurant1': None, 'Restaurant2': None, 'Restaurant3': None, 'Restaurant4': None} @staticmethod def addOrder(restaurant_name, orders): OrderBook.orders[restaurant_name] = orders Uruchamiam 4 wątki (po jednym dla każdej restauracji), które wywołują metodę OrderBook.addOrder. Oto funkcja uruchamiana przez każdy wątek: def addOrders(restaurant_name): #creates orders ... OrderBook.addOrder(restaurant_name, orders) Czy …


8
Jak utrzymać uruchomioną aplikację konsoli .NET?
Rozważ aplikację konsolową, która uruchamia niektóre usługi w osobnym wątku. Wszystko, co musi zrobić, to poczekać, aż użytkownik naciśnie Ctrl + C, aby go wyłączyć. Która z poniższych opcji jest lepszym sposobem na zrobienie tego? static ManualResetEvent _quitEvent = new ManualResetEvent(false); static void Main() { Console.CancelKeyPress += (sender, eArgs) => …

7
Czy muteksy są potrzebne w javascript?
Widziałem ten link: Implementowanie wzajemnego wykluczania w JavaScript . Z drugiej strony przeczytałem, że w javascript nie ma wątków, ale co to dokładnie oznacza? Kiedy występują zdarzenia, gdzie w kodzie mogą one przerwać? A jeśli w JS nie ma wątków, czy muszę używać muteksów w JS, czy nie? Konkretnie zastanawiam …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.