Публикации по теме 'concurrent-programming'
Параллелизм в C++: передача данных между потоками — Promise-Future
Обещание — будущий канал связи
Оба метода передачи данных в поток, которые мы обсуждали до сих пор, полезны при создании потока: мы можем либо передавать аргументы в функцию потока, используя шаблоны с переменным числом аргументов, либо мы можем использовать лямбду для захвата аргументов по значению или по ссылке. Следующий пример снова иллюстрирует использование этих методов:
#include <iostream>
#include <thread>
void printMessage(std::string message)
{..
Параллелизм в C++. Введение. Часть 5. Запуск нескольких потоков
Параллелизм Fork-Join
Использование потоков следует базовой концепции, называемой «параллелизм вилки-соединения». Основной механизм этой концепции следует простой трехэтапной схеме:
Разделить поток выполнения на параллельный поток («форк») Выполнить некоторую работу как в основном потоке, так и в параллельном потоке Дождитесь завершения параллельного потока и снова объедините разделенный поток выполнения («join»)
Следующая диаграмма иллюстрирует основную идею разветвления:..
Ромул: Пример понимания параллелизма и эластичных блокировок диапазона
Выход за рамки одномерных, последовательных программ и использование многоядерного мира
В следующей статье мы надеемся познакомить читателя с параллелизмом, эластичностью и тенденциями в современных вычислениях на примере создания планировщика (названного Ромулусом), который автоматически преобразует любую структуру последовательных данных в высокопроизводительный параллельный ключ. ценность магазина. Перенося концепции распределенных вычислений и проектирования баз данных в локальную..
Erlang-For-Beginners E101: (переменные, атомы, кортежи, списки, строки)
Переменные:
Мы присваиваем значения переменным с помощью оператора сопоставления с образцом =Обратите внимание, что = не является оператором присваивания, он используется для сопоставления с образцом.
2. После того, как значение присвоено (привязано) к переменной, его нельзя изменить позже.
3. Мы не объявляем тип переменной. Тип переменных — это тип привязанного к ним значения.
4. Все имена переменных ДОЛЖНЫ начинаться с заглавной буквы
Simple variable assignment (Pattern..
Параллелизм не решит проблему с ЦП, но может помочь с проблемой ввода-вывода
Параллелизм не решит проблем, связанных с процессором, но может помочь с проблемами ввода-вывода.
Многие люди считают, что могут повысить скорость своей программы, добавив некоторый уровень параллелизма. Это правда, а не правда. параллелизм может сделать ваш код медленнее, чем при его последовательном выполнении.
Что такое параллелизм для начала? параллелизм имеет дело с несколькими вещами одновременно. Он не запускает две задачи одновременно, это параллелизм. он запускает задачи в..
Вопросы по теме 'concurrent-programming'
Сохраняют ли вызовы методов аргументы при их вызове?
Если я вызываю метод в Objective-C с аргументом и отпускаю послесловие аргумента.
id argumentI = [Object new];
[ classA method1: argumentI ];
[ argumentI release ];
Затем я знаю, что аргумент высвобождается ПОСЛЕ завершения метода 1, потому...
200 просмотров
schedule
08.09.2022
Может ли запуск нескольких асинхронных операций чтения / записи в одном потоке повредить данные?
Я использую асинхронный ввод-вывод, потому что он не блокирует вызывающий поток и выполняет обработку потоков за кулисами. Если я вызываю несколько асинхронных операций, таких как BeginWrite (), в одном потоке, следует ли мне беспокоиться о том, что...
2185 просмотров
schedule
20.06.2022
boost asio асинхронно ожидает переменную условия
Можно ли выполнить асинхронное ожидание (читай: неблокирующее) условной переменной в boost::asio? если он не поддерживается напрямую, любые подсказки по его реализации будут оценены.
Я мог бы реализовать таймер и запускать пробуждение даже каждые...
5800 просмотров
schedule
04.03.2023
Как узнать, какой ViewController активен?
Я загружаю изображения с помощью NSOperationQueue.
Я хочу вызвать метод reloadView моего контроллера представления после завершения загрузки изображения.
Однако, когда идет загрузка, вполне возможно, что пользователь перешел к другому...
850 просмотров
schedule
28.06.2022
Примеры кода, использующие мелкозернистые блокировки (JCR Jackrabbit?)
Я провожу академическое исследование, пытаясь разработать инструмент программирования, который помогает в реализации детальных функций блокировки для параллельных программ, поддерживающих древовидные структуры данных.
Например, программист может...
2014 просмотров
schedule
24.08.2022
Потребитель/Производитель с порядком и ограничением на потребляемые товары
у меня следующий сценарий
I am writing a server that process files (jobs)
a file has a "prefix" and a time
файлы должны обрабатываться по времени (сначала старые файлы), но также учитывать префикс (файлы с одинаковым префиксом не могут...
694 просмотров
schedule
10.01.2024
Как возникают проблемы с видимостью в параллелизме Java?
Я читаю книгу: "Параллелизм Java на практике", чтобы лучше понять, как работает параллелизм java. В главе 3, разделе 3.1: Видимость, есть пример, в котором книга пытается показать, как возникают проблемы с видимостью. Вот пример кода (листинг 3.1 в...
1071 просмотров
schedule
27.10.2022
Это правильный способ перебора Concurrentdictionary в С#
Я использую этот код только для примера. Предположим, у меня есть следующий класс Person.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace dictionaryDisplay
{
class Person
{
public string...
31345 просмотров
schedule
14.04.2023
scala akka: случайные мертвые буквы, пока ни одного актера не просят остановиться
Я соединяю актеров в akka-scala, и на каждом этапе вновь созданный актер будет отправлять сообщение актеру-супервайзеру. В ответ супервизор увеличивает значение счетчика.
Я не понимаю, почему во время этой операции deadLetters выдаются случайным...
167 просмотров
schedule
29.07.2022
Перейти к потреблению памяти со многими горутинами
Я пытался проверить, как Go будет работать с 100 000 горутин. Я написал простую программу для порождения такого количества подпрограмм, которые ничего не делают, кроме вывода объявлений. Я ограничил размер MaxStack всего 512 байтами. Но я заметил,...
6664 просмотров
schedule
17.07.2022
Как React PHP обрабатывает асинхронный неблокирующий ввод-вывод?
Как React PHP обрабатывает асинхронный неблокирующий ввод-вывод?
Nodejs использует свою очередь событий, которая обрабатывает ввод-вывод в разных потоках. Для этого используется libuv. Поскольку в PHP нет ничего подобного, как React обрабатывает...
4296 просмотров
schedule
16.07.2023
Параллельная функция поиска
Я пытаюсь написать параллельную функцию поиска для векторов, которая под капотом разбивает Vec на части и использует поток для каждой части. Каждый поток выполняет итерацию по своей части массива, и если он находит элемент, он должен остановить...
163 просмотров
schedule
08.03.2023
node.js — взаимная переменная
Я новичок в node.js, поэтому перед выпуском моего приложения node.js мне нужно убедиться, что оно будет работать должным образом.
Допустим, у меня есть переменная массива, и я инициализирую ее в начале своего скрипта.
myArray = [];
затем я...
149 просмотров
schedule
10.03.2023
В чем разница между ласточкиным хвостом и параллелизмом?
Я наткнулся на определение Dovetailing , о котором раньше не слышал. что пришло мне на ум, было Concurrency . Однако я не смог найти ни одного сообщения, касающегося этих двух концепций. Я также прочитал это .
Если я не ошибаюсь, ласточкин...
118 просмотров
schedule
29.07.2023
Выполните несколько загрузок и дождитесь завершения всех
В настоящее время я работаю над сервисом API, который позволяет 1 или нескольким пользователям загружать 1 или несколько элементов из корзины S3 и возвращать содержимое пользователю. Хотя загрузка идет нормально, время, необходимое для загрузки...
1319 просмотров
schedule
20.04.2023