|
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
|
|
Мьютексы и семафоры QT17.08.2015, 23:39. Показов 3892. Ответов 11
Метки нет (Все метки)
Сейчас проблемы с производительностью моей высокопроизводительной вычислительной техникой. Прошу помочь разобраться с мьютексами и семафорами.
Начну с мьютексов. Допустим у нас есть два потока Thread1 и Thread2, мы имеем мьютекс Mu, можете привести простейший пример синхронизации потоков с помощью этого мьютекса , включая описание класса мьютекса и объяснение всего происходящего?
0
|
|
| 17.08.2015, 23:39 | |
|
Ответы с готовыми решениями:
11
SQLite и мьютексы Семафоры Буфер обмена и семафоры |
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||||||
| 18.08.2015, 02:36 | |||||||
|
Смотреть тут.
0
|
|||||||
|
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
|
||||||||||||||||
| 21.08.2015, 20:56 [ТС] | ||||||||||||||||
|
Можете помочь найти ошибку?
Программа слетает, после выполнения функции lock().
0
|
||||||||||||||||
|
232 / 232 / 69
Регистрация: 30.09.2012
Сообщений: 545
|
||
| 21.08.2015, 22:08 | ||
|
0
|
||
|
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
|
|
| 21.08.2015, 22:15 [ТС] | |
|
Спасибо, а как очищать память от мьютекса? После выполнения последнего потока?
0
|
|
|
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
|
|||||||||||||||||||||
| 22.08.2015, 14:43 [ТС] | |||||||||||||||||||||
|
Это значит, что мы очищаем память через указатель внутри класса, принявший в качестве параметра указатель на мьютекс?
Добавлено через 14 часов 17 минут Теперь в этот код добавил запись в файл, почему-то записывает только один погток из двух, причем cout на экран выводит вроде бы правильно и 1 и 1
Кстати, еще есть проблема в том, что не переносится структура ss в main
0
|
|||||||||||||||||||||
|
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
|
||
| 22.08.2015, 20:55 | ||
|
Ну так сначала один поток запишет данные, потов второй.
И lock нужно делать в начале метода. Вы этот код в main написали? Откуда он знает от структуре ss?
0
|
||
|
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
|
|
| 22.08.2015, 23:59 [ТС] | |
|
Спасибо! Хедер со структурой ss включается через директиву #includ и extern-ом подключается ss
0
|
|
|
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
|
|
| 23.08.2015, 00:15 | |
|
Структура должна быть в хедере. Что вы пытаетесь сделать через extern не понятно, но скорее всего вы не правильно понимаете работу extern.
0
|
|
|
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
|
|
| 23.08.2015, 01:02 [ТС] | |
|
Как я понимаю, если у нас объявлена переменная в одном файле и мы хотим ее распространить и на другой, то в другом прописываем extern тип переменной имя
0
|
|
|
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
|
|
| 23.08.2015, 01:09 | |
|
Knjagskij, наоборот.
extern только один раз указывается в каком-то хедере, затем этот хедер подключается где нужно и используется эта перемененная. Так же нужно не забывать ее определить. В общем первая ссылка гугла: http://stackoverflow.com/quest... files-in-c
0
|
|
| 23.08.2015, 01:09 | |
|
Помогаю со студенческими работами здесь
12
Объекты синхронизации. мьютексы, семафоры Синхронизация, используя мьютексы и семафоры
Работа на Java с WinAPI (мьютексы, семафоры) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|