0 / 0 / 0
Регистрация: 03.12.2017
Сообщений: 122
|
||||||
Как передать данные из одного потока в другой?15.02.2018, 20:30. Показов 18903. Ответов 20
Метки нет Все метки)
(
Есть отдельный поток для чтения данных и основной поток для обработки данных. Из этого потока данные нужно передать в основной поток.
Подскажите пожалуйста как это можно сделать
0
|
15.02.2018, 20:30 | |
Ответы с готовыми решениями:
20
Как передать данные из одного процесса в другой без сокетов
Как передать содержимое контейнера из одного модуля в другой? |
73 / 69 / 38
Регистрация: 09.10.2012
Сообщений: 238
|
||||||
15.02.2018, 21:42 | ||||||
![]() Решение
Создаете общедоступный буфер, например std::queue. В потоке чтения под мьютексом в этот буфер помещаете данные для обработки и сигналите std::conditional_variable. В потоке обработки ждете сигнала от этой std::conditional_variable и под мьютексом данные извлекаете.
Добавлено через 6 минут Как то так. Код не проверял.
2
|
![]() 3969 / 2623 / 432
Регистрация: 09.09.2017
Сообщений: 11,690
|
||
16.02.2018, 10:50 | ||
Croessmah, заставит потоки действительно записывать значение в переменную, а не оставлять в регистрах. От фрагментации данных это, конечно, не спасет.
Добавлено через 3 минуты
0
|
![]() 1355 / 854 / 365
Регистрация: 26.02.2015
Сообщений: 3,809
|
|
16.02.2018, 19:15 | |
COKPOWEHEU, как твой ник читать?!
0
|
зомбяк
![]() 1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
16.02.2018, 19:31 | ||
0
|
0 / 0 / 0
Регистрация: 03.12.2017
Сообщений: 122
|
|
16.02.2018, 23:06 [ТС] | |
я про многопоточность читаю Энтони Уильямс "
Параллельное программирование на C++ в действии". По вашей подсказке нашла похожий материал на стр.113 Добавлено через 2 часа 52 минуты а что если нужно создать еще один поток, в который нужно передать значение из строки data, чтобы записать значение в очередь? по какому принципу это можно реализовать? я это задание ни сама придумала ![]()
0
|
2718 / 871 / 329
Регистрация: 10.02.2018
Сообщений: 2,073
|
||||||
17.02.2018, 08:39 | ||||||
Вы уж определитесь, потоки у вас или процессы.
Вообще, передача данных между потоками одного процесса, это даже не совсем передача данных. Память у потоков общая и каждый поток в любой момент времени имеет к ней полный доступ. Вопрос не столько в передаче, сколько в выборе способа синхронизации действий. Синхронизацию можно построить кучей способов. Конкретный механизм взаимодействия потоков может зависеть от множества факторов, от объёмов и типа информации, нужен ли конвейер или просто последовательная обработка, для конвейера необходимо определиться с буферизацией и т.д. и т.п.
2
|
![]() 3969 / 2623 / 432
Регистрация: 09.09.2017
Сообщений: 11,690
|
|
21.02.2018, 11:25 | |
А как же похвастаться тем, как именно исправлено
0
|
21.02.2018, 11:25 | |
Помогаю со студенческими работами здесь
20
Как передать данные другой програме? Как передавать динамически данные из одного класса в другой? Передать значения из одного укахателя в другой Передать значения из одного цикла в другой
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
|
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать?
Entity Framework — это. . .
|
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
|
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
|
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Опубликовано: 07. 07. 2025
Рубрика: Uncategorized
Автор: AlexA
Статья размещается на сайте с разрешения. . .
|
Раскрываем внутренние механики Android с помощью контекста и манифеста
mobDevWorks 07.07.2025
Каждый Android-разработчик сталкивается с Context и манифестом буквально в первый день работы. Но много ли мы задумываемся о том, что скрывается за этими обыденными элементами? Я, честно говоря,. . .
|
API на базе FastAPI с Python за пару минут
AI_Generated 07.07.2025
FastAPI - это относительно молодой фреймворк для создания веб-API, который за короткое время заработал бешеную популярность в Python-сообществе. И не зря. Я помню, как впервые запустил приложение на. . .
|
Основы WebGL. Раскрашивание вершин с помощью VBO
8Observer8 05.07.2025
На русском
https:/ / vkvideo. ru/ video-231374465_456239020
На английском
https:/ / www. youtube. com/ watch?v=oskqtCrWns0
Исходники примера:
|
Мониторинг микросервисов с OpenTelemetry в Kubernetes
Mr. Docker 04.07.2025
Проблема наблюдаемости (observability) в Kubernetes - это не просто вопрос сбора логов или метрик. Это целый комплекс вызовов, которые возникают из-за самой природы контейнеризации и оркестрации. К. . .
|
Проблемы с Kotlin и Wasm при создании игры
GameUnited 03.07.2025
В современном мире разработки игр выбор технологии - это зачастую балансирование между удобством разработки, переносимостью и производительностью. Когда я решил создать свою первую веб-игру, мой. . .
|