Запитання з тегом «multithreading»

Багатопотоковість - це здатність комп'ютера або програми виконувати роботу одночасно або асинхронно, використовуючи кілька одночасних потоків виконання (зазвичай їх називають потоками).

3
Приклад потокової роботи в Android [закрито]
Зачинено. Це питання не відповідає вимогам щодо переповнення стека . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно було актуальним для переповнення стека. Закрито 5 років тому . Удосконалюйте це питання Я хочу простий приклад створення потоку та виклику потоків в android.

3
Програма багатопотокової роботи застрягла в оптимізованому режимі, але працює нормально в -00
Я написав прості багатопотокові програми так: 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 або -O0в gc …

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

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

1
Чи нерестовинна нитка забезпечує гарантії порядку пам’яті самостійно?
Я хочу зробити приблизно це: Початкова нитка: запишіть деякі значення у глобальну вару (вони більше ніколи не будуть записані) Це можуть бути помірно великі дані (масиви, рядки тощо). Неможливо просто зробити std::atomic<>. нерест інших ниток Інші теми: читати глобальну державу робити роботу тощо. Тепер я знаю, що можу передати аргументи …

3
c ++ Нитки всередині для циклічного друку неправильних значень
Я намагаюся зрозуміти Multi-Threading в 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 для вирішення класу задач з числовою оптимізацією - більш точні проблеми лінійного програмування. Одну проблему можна розділити на менші підпрограми, які можна вирішити паралельно. Оскільки є більше підпроблем, ніж ядер CPU, я використовую 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 is …

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розмір основних потоків на основі …

4
Чи пояснення розслабленого замовлення помилкове в cppreference?
У документації std::memory_orderна сайті cppreference.com є приклад розслабленого замовлення: Розслаблене замовлення Атомні операції з тегом memory_order_relaxedне є операціями синхронізації; вони не нав'язують порядок серед паралельних доступу до пам'яті. Вони гарантують лише атомність та послідовність порядку модифікації. Наприклад, спочатку x і y дорівнює нулю, // Thread 1: r1 = y.load(std::memory_order_relaxed); // …

1
Чи підтримує нативну технологію багатопотокової та фонової нарізки чи паралельного виконання? Як ми можемо це зробити?
Я переглянув офіційну документацію про реактивну інформацію та деякі інші середні джерела та блоги, я дізнався, що є UI Thread та JavaScript Thread в реактивній. Потік Javascript - це нитка, в якій виконується логіка коду JavaScript, виконуються виклики API, обробляються події дотику та багато іншого. І UI Thread оновлює інтерфейс …

2
Служба виконавця Java зупинить, коли одне із призначених йому завдань не справляється з будь-якої причини
Мені потрібна якась послуга, яка виконуватиме декілька завдань одночасно та з інтервалом у 1 секунду протягом 1 хвилини. Якщо одне із завдань не вдається, я хочу зупинити службу і кожне завдання, яке було з ним, з якимось індикатором, що щось пішло не так, інакше, якщо через одну хвилину все піде …

3
Чи гарантує "непостійний" взагалі що-небудь в портативному коді С для багатоядерних систем?
Після дивлячись на купу з інших питань і їх відповідей , я отримую враження , що не існує ніякого широко поширеного угоди про те , що «летючий» ключове слово в C означає точно. Навіть сам стандарт не здається достатньо зрозумілим, щоб усі могли погодитися, що це означає . Серед інших …

1
Чи можна обмежити кількість потоків для C ++ 17 паралельних `for_each`?
Я використовую std::for_eachз std::execution::parдля виконання складних обчислень на величезному вході представлений в вигляді вектора структур. Для обчислення не потрібні затримки, пов'язані з обладнанням (наприклад, мережевий або дисковий IO), це "просто CPU". Для мене виглядає логічним, що немає сенсу створювати більше потоків ОС, у яких є апаратні; однак Visual C ++ …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.