Публикации по теме '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 просмотров

Может ли запуск нескольких асинхронных операций чтения / записи в одном потоке повредить данные?
Я использую асинхронный ввод-вывод, потому что он не блокирует вызывающий поток и выполняет обработку потоков за кулисами. Если я вызываю несколько асинхронных операций, таких как BeginWrite (), в одном потоке, следует ли мне беспокоиться о том, что...
2185 просмотров

boost asio асинхронно ожидает переменную условия
Можно ли выполнить асинхронное ожидание (читай: неблокирующее) условной переменной в boost::asio? если он не поддерживается напрямую, любые подсказки по его реализации будут оценены. Я мог бы реализовать таймер и запускать пробуждение даже каждые...
5800 просмотров

Как узнать, какой ViewController активен?
Я загружаю изображения с помощью NSOperationQueue. Я хочу вызвать метод reloadView моего контроллера представления после завершения загрузки изображения. Однако, когда идет загрузка, вполне возможно, что пользователь перешел к другому...
850 просмотров

Примеры кода, использующие мелкозернистые блокировки (JCR Jackrabbit?)
Я провожу академическое исследование, пытаясь разработать инструмент программирования, который помогает в реализации детальных функций блокировки для параллельных программ, поддерживающих древовидные структуры данных. Например, программист может...
2014 просмотров

Потребитель/Производитель с порядком и ограничением на потребляемые товары
у меня следующий сценарий I am writing a server that process files (jobs) a file has a "prefix" and a time файлы должны обрабатываться по времени (сначала старые файлы), но также учитывать префикс (файлы с одинаковым префиксом не могут...
694 просмотров

Как возникают проблемы с видимостью в параллелизме Java?
Я читаю книгу: "Параллелизм Java на практике", чтобы лучше понять, как работает параллелизм java. В главе 3, разделе 3.1: Видимость, есть пример, в котором книга пытается показать, как возникают проблемы с видимостью. Вот пример кода (листинг 3.1 в...
1071 просмотров

Это правильный способ перебора 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 просмотров

Параллельная функция поиска
Я пытаюсь написать параллельную функцию поиска для векторов, которая под капотом разбивает Vec на части и использует поток для каждой части. Каждый поток выполняет итерацию по своей части массива, и если он находит элемент, он должен остановить...
163 просмотров
schedule 08.03.2023

node.js — взаимная переменная
Я новичок в node.js, поэтому перед выпуском моего приложения node.js мне нужно убедиться, что оно будет работать должным образом. Допустим, у меня есть переменная массива, и я инициализирую ее в начале своего скрипта. myArray = []; затем я...
149 просмотров

В чем разница между ласточкиным хвостом и параллелизмом?
Я наткнулся на определение Dovetailing , о котором раньше не слышал. что пришло мне на ум, было Concurrency . Однако я не смог найти ни одного сообщения, касающегося этих двух концепций. Я также прочитал это . Если я не ошибаюсь, ласточкин...
118 просмотров

Выполните несколько загрузок и дождитесь завершения всех
В настоящее время я работаю над сервисом API, который позволяет 1 или нескольким пользователям загружать 1 или несколько элементов из корзины S3 и возвращать содержимое пользователю. Хотя загрузка идет нормально, время, необходимое для загрузки...
1319 просмотров