Форум программистов, компьютерный форум CyberForum.ru

Нужно ли синхронизировать доступ к переменной из двух потоков? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,629
Записей в блоге: 17
15.05.2012, 20:48     Нужно ли синхронизировать доступ к переменной из двух потоков? #1
Допустим есть два потока: основной и вторичный.

1. И допустим есть глобальная переменная bool b;

Вопрос: является ли b разделяемым ресурсом? И нужно ли синхронизировать доступ к ней?
Например вариант когда b сигнализирует основному потоку о том что вторичный поток закончен...

2. Есть глобально объявленный std::vector. Вторичный поток переодически добовляет туда элементы.
Основной поток в это время выводит элементы на экран начиная с начала вектора ( вывод занимет определенное время так что вторичный поток обычно опережает работу основного).

Вопрос: Может ли возникнуть в таком случае проблемы? Например связанные с перераспределением памяти в векторе?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 20:48     Нужно ли синхронизировать доступ к переменной из двух потоков?
Посмотрите здесь:

Доступ к статической переменной-члену C++
Доступ к переменной по абсолютному адресу. C++
C++ Реализовать доступ к закрытой переменной
доступ к структурной переменной C++
C++ Доступ к переменной из разных файлов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
19.08.2012, 01:50     Нужно ли синхронизировать доступ к переменной из двух потоков? #21
Avazart, http://www.boost.org/doc/libs/1_50_0...anisms.mutexes дело в том, что в бусте все несколько разнесено. То есть либа которая работает с потоками - работает с потоками, которая с процессами - с процессами. В API очевидно все свалено в одну кучу.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2012, 01:54     Нужно ли синхронизировать доступ к переменной из двух потоков?
Еще ссылки по теме:

C++ Доступ к переменной только из двух функций. Возможно ли это?
C++ Доступ к переменной из другого модуля
Самый простой способ реализации двух параллельных потоков C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,629
Записей в блоге: 17
19.08.2012, 01:54  [ТС]     Нужно ли синхронизировать доступ к переменной из двух потоков? #22
В API очевидно все свалено в одну кучу.
Ну это сложно назвать кучей... даже кучкой не назовешь...
Yandex
Объявления
19.08.2012, 01:54     Нужно ли синхронизировать доступ к переменной из двух потоков?
Ответ Создать тему
Опции темы

Текущее время: 10:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru