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

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

4
Параллельно распределенная задача сельдерея с многопроцессорностью
У меня есть задача Celery с интенсивным использованием ЦП. Я хотел бы использовать всю вычислительную мощность (ядра) во множестве экземпляров EC2, чтобы выполнить эту работу быстрее ( я думаю, параллельная распределенная задача сельдерея с многопроцессорностью ) . Я пытаюсь лучше понять термины, потоки , многопроцессорность , распределенные вычисления , распределенная …

1
ThreadPool.QueueUserWorkItem против Task.Factory.StartNew
в чем разница между приведенными ниже ThreadPool.QueueUserWorkItem против Task.Factory.StartNew Если приведенный выше код вызывается 500 раз для какой-то длительной задачи, означает ли это, что все потоки пула потоков будут задействованы? Или TPL (2-й вариант) будет достаточно умен, чтобы просто обрабатывать потоки, меньшее или равное количеству процессоров?

4
Почему Thread не является абстрактным классом, а start () не является окончательным?
Почему Threadкласс был реализован как обычный класс, а не как абстрактный класс с run()абстрактным методом. Возможно, это принесет какие-то проблемы? Или в этом есть какой-то смысл? Кроме того, Thread.start()предполагается , что этот метод является очень специфическим методом , функциональность которого не может быть реализована никаким другим классом (если я не …

3
Многопоточная программа зависла в оптимизированном режиме, но нормально работает в -O0
Я написал простую многопоточную программу следующим образом: static bool finished = false; int func() { size_t i = 0; while (!finished) ++i; return i; } int main() { auto result=std::async(std::launch::async, func); std::this_thread::sleep_for(std::chrono::seconds(1)); finished=true; std::cout<<"result ="<<result.get(); std::cout<<"\nmain thread id="<<std::this_thread::get_id()<<std::endl; } Он ведет себя нормально в режиме отладки в Visual studio или …

4
Копируются ли потоки при вызове fork?
Если у меня есть программа, работающая с потоками и вызывающая в системе fork()на основе Unix, скопированы ли потоки? Я знаю, что виртуальная память для текущего процесса копируется 1: 1, чтобы новый процесс порождался. Я знаю, что потоки имеют свой собственный стек в виртуальной памяти процесса. Таким образом, хотя бы стек …

7
Как создать блокирующий фоновый загрузчик в Java 8?
Вопрос Как создать правильный загрузчик фона в Java 8? Условия: данные должны быть загружены в фоновом режиме после загрузки данные должны отображаться пока данные загружены, дальнейшие запросы не принимаются если были запросы во время загрузки данных, то по истечении определенного времени ожидания должна быть назначена другая загрузка (например, 5 секунд) …

1
Предоставляет ли порождение потока гарантии порядка памяти самостоятельно?
Я хочу сделать примерно это: Начальная тема: записать некоторые значения в глобальные переменные (они никогда не будут записаны снова) Это могут быть данные среднего размера (массивы, строки и т. Д.). Не может быть просто сделано std::atomic<>. порождают другие темы Другие темы: читать глобальное состояние делать работу и т. д. Теперь …

3
C ++ Threads внутри для цикла печати неправильные значения
Я пытаюсь понять многопоточность в c ++, но я застрял в этой проблеме: если я запускаю потоки в цикле for, они печатают неправильные значения. Это код: #include <iostream> #include <list> #include <thread> void print_id(int id){ printf("Hello from thread %d\n", id); } int main() { int n=5; std::list<std::thread> threads={}; for(int i=0; …

4
Слишком низкое использование ЦП многопоточного Java-приложения в Windows
Я работаю над приложением Java для решения класса задач численной оптимизации - точнее, крупномасштабных задач линейного программирования. Отдельную проблему можно разбить на более мелкие подзадачи, которые можно решать параллельно. Поскольку существует больше подзадач, чем ядер ЦП, я использую ExecutorService и определяю каждую подзадачу как Callable, который передается в ExecutorService. Решение …

2
Поток C ++, использующий объект функции, как называются множественные деструкторы, но не конструкторы?
Пожалуйста, найдите фрагмент кода ниже: class tFunc{ int x; public: tFunc(){ cout<<"Constructed : "<<this<<endl; x = 1; } ~tFunc(){ cout<<"Destroyed : "<<this<<endl; } void operator()(){ x += 10; cout<<"Thread running at : "<<x<<endl; } int getX(){ return x; } }; int main() { tFunc t; thread t1(t); if(t1.joinable()) { cout<<"Thread …

2
Проблема производительности многопоточного параллелизма с последовательностью Фибоначчи в Юлии (1.3)
Я пробую многопоточную функцию Julia 1.3со следующим оборудованием: Model Name: MacBook Pro Processor Name: Intel Core i7 Processor Speed: 2.8 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 6 MB Hyper-Threading Technology: Enabled Memory: 16 GB При запуске следующего скрипта: …

2
Java ThreadPoolExecutor: обновление размера основного пула динамически отклоняет входящие задачи периодически
Я сталкиваюсь с проблемой, при которой, если я пытаюсь изменить размер ThreadPoolExecutorосновного пула на другой номер после создания пула, то периодически, некоторые задачи отклоняются сRejectedExecutionException даже если я никогда не отправляю больше, чем queueSize + maxPoolSizeколичество задач. Проблема, которую я пытаюсь решить, заключается в расширении, ThreadPoolExecutorкоторое изменяет размеры своих основных …

1
Реактив-родной поддерживает многопоточность и фоновую многопоточность или параллельное выполнение? Как мы можем сделать это?
Я просмотрел официальную документацию о реактивно-нативных и некоторых других средних источниках и блогах, узнал, что в Реакт-нативе есть Поток пользовательского интерфейса и JavaScript-нить . Поток Javascript - это поток, в котором выполняется логика, выполняется код JavaScript, выполняются вызовы API, обрабатываются сенсорные события и многое другое. И UI Thread обновляет интерфейс. …

4
Является ли объяснение расслабленного порядка ошибочным в сравнении?
В документации std::memory_orderна cppreference.com есть пример непринужденного заказа: Расслабленный заказ Маркированные атомарные операции memory_order_relaxedне являются операциями синхронизации; они не навязывают порядок между одновременными обращениями к памяти. Они гарантируют только атомарность и согласованность порядка модификации. Например, с х и у изначально ноль, // Thread 1: r1 = y.load(std::memory_order_relaxed); // A x.store(r1, …

2
Служба Java Stop Executor, если одна из назначенных ему задач по какой-либо причине не выполняется
Мне нужен какой-то сервис, который будет запускать несколько задач одновременно и с интервалом в 1 секунду в течение 1 минуты. Если одна из задач не выполняется, я хочу остановить службу и все задачи, которые выполнялись вместе с каким-то индикатором, что что-то пошло не так, иначе, если через одну минуту все …

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