Вопросы с тегом «multithreading»

Многопоточность - это способность компьютера или программы выполнять работу одновременно или асинхронно, используя несколько одновременных потоков выполнения (обычно называемых потоками).

5
выбор между подпроцессом, многопроцессорностью и потоком в Python?
Я хотел бы распараллелить мою программу Python, чтобы она могла использовать несколько процессоров на машине, на которой она работает. Мое распараллеливание очень простое, поскольку все параллельные «потоки» программы независимы и записывают свой вывод в отдельные файлы. Мне не нужны потоки для обмена информацией, но я обязательно знаю, когда потоки завершаются, …



13
Как дождаться завершения ряда потоков?
Как можно просто дождаться завершения всех потоковых процессов? Например, допустим, у меня есть: 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 continuing } …


5
Как выбрать между Semaphore и SemaphoreSlim?
Их общедоступные интерфейсы кажутся похожими. В документации указано, что SemaphoreSlim является облегченной альтернативой и не использует семафоры ядра Windows. Этот ресурс утверждает, что SemaphoreSlim намного быстрее. В каких ситуациях SemaphoreSlim имеет больше смысла по сравнению с Semaphore и наоборот?

4
присвоение ссылки является атомарным, так зачем нужен Interlocked.Exchange (ref Object, Object)?
В моей многопоточной веб-службе asmx у меня было поле класса _allData моего собственного типа SystemData, которое состоит из нескольких List<T>и Dictionary<T>помечено как volatile. Системные данные ( _allData) обновляются время от времени, и я делаю это, создавая другой вызываемый объект newDataи заполняя его структуры данных новыми данными. Когда это будет сделано, …

6
Как масштабировать потоки в соответствии с ядрами процессора?
Я хочу решить математическую задачу с несколькими потоками в Java. мою математическую задачу можно разделить на рабочие единицы, которые я хочу решить в несколько потоков. Я хочу, чтобы над ним работало не фиксированное количество потоков, а количество потоков, соответствующее количеству ядер ЦП. Моя проблема в том, что я не смог …

3
Безопасность потоков в словаре Python
У меня есть класс, в котором есть словарь class OrderBook: orders = {'Restaurant1': None, 'Restaurant2': None, 'Restaurant3': None, 'Restaurant4': None} @staticmethod def addOrder(restaurant_name, orders): OrderBook.orders[restaurant_name] = orders И я запускаю 4 потока (по одному для каждого ресторана), которые вызывают этот метод OrderBook.addOrder. Вот функция, выполняемая каждым потоком: def addOrders(restaurant_name): #creates …


9
Каковы основные применения yield () и чем он отличается от join () и interrupt ()?
Я немного смущен использованием yield()метода в Java, особенно в приведенном ниже примере кода. Я также читал, что yield () «используется для предотвращения выполнения потока». Мои вопросы: Я считаю, что приведенный ниже код дает одинаковый результат как при его использовании, так yield()и когда он не используется. Это верно? Каковы на самом …

9
Как я могу распространять исключения между потоками?
У нас есть функция, которую вызывает один поток (мы называем это основным потоком). В теле функции мы создаем несколько рабочих потоков для выполнения интенсивной работы с ЦП, ожидаем завершения всех потоков, а затем возвращаем результат в основной поток. В результате вызывающий может наивно использовать функцию, а внутри он будет использовать …

8
Как поддерживать работу консольного приложения .NET?
Рассмотрим консольное приложение, которое запускает некоторые службы в отдельном потоке. Все, что ему нужно сделать, это дождаться, пока пользователь нажмет Ctrl + C, чтобы выключить его. Что из следующего является лучшим способом сделать это? static ManualResetEvent _quitEvent = new ManualResetEvent(false); static void Main() { Console.CancelKeyPress += (sender, eArgs) => { …

7
Нужны ли мьютексы в javascript?
Я видел эту ссылку: Реализация взаимного исключения в JavaScript . С другой стороны, я читал, что в javascript нет потоков, но что именно это означает? Когда происходят события, где в коде они могут прерываться? А если в JS нет потоков, нужно ли использовать в JS мьютексы или нет? В частности, …

4
Как отслеживать дочерний процесс с помощью strace?
Раньше я straceвкратце привязывался к процессу. В процессе создано 90 потоков. Когда я нашел проблемный поток, мне пришлось утомительно искать родительский поток, затем дедушку и дедушку, и так далее, вплоть до корневого процесса. Есть ли уловка или инструмент, чтобы быстро выяснить, какой поток создал другой? А еще лучше распечатать дерево …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.