|
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 19
|
||||||
Написать программу, создающую два потока, которые выполняются в одном адресном пространстве (в одном процессе)17.12.2011, 21:19. Показов 13397. Ответов 25
Метки нет (Все метки)
Здравствуйте!
Есть задание: Написать программу, создающую два потока, которые выполняются в одном адресном пространстве (в одном процессе). Их разделяемый ресурс - целочисленный массив, который содержит данные совместного использования. Потоки должны обрабатывать массив поочередно. Использовать критическую секцию для синхронизации. Пример обработки массива: нахождение суммы всех элементов, вывод этой суммы на экран и запись её в первый элемент массива. Есть код:
6 2 3 11 2 3 16 2 3 ......... 101 2 3, а вместо этого: 101 2 3. Пожалуйста помогите разобраться. Заранее спасибо! Добавлено через 20 часов 0 минут Господа, пожалуйста, помощь нужна!
0
|
||||||
| 17.12.2011, 21:19 | |
|
Ответы с готовыми решениями:
25
Где выполняются PHP- скрипты в отдельном адресном пространстве или в адресном пространстве сервера? Массив и структура в одном адресном пространстве Два потока в одном процессе, конфликт чтения/записи файлов |
|
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
|
||||||
| 18.12.2011, 14:28 | ||||||
|
В моем коде я вам показал логику работы с критическими секциями для вашего случая,а изменить алгоритм суммирования думаю не должно быть проблемой! Семафор-это объект синхронизации а не блокирующая переменная.
1
|
||||||
|
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 19
|
|||||||||||
| 18.12.2011, 14:42 [ТС] | |||||||||||
|
lavan, спасибо,все работает!)
Добавлено через 5 минут но есть почему то, он пропускает первые несколько шагов в принте как это перебороть? Для массива:
http://imglink.ru/pictures/18-... 91f7bb.jpg Добавлено через 1 минуту
0
|
|||||||||||
|
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
|
||
| 18.12.2011, 19:56 | ||
|
я думаю,что это происходит из-за этой проверки
1
|
||
|
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 19
|
|
| 18.12.2011, 20:42 [ТС] | |
|
проблема увы осталась ( иногда пропускает первые два вывода суммы, то есть:
26 5 7 9 3 74 5 7 9 3 97 5 7 9 3 122 5 7 9 3 170 5 7 9 3 стабильно хоть где то да пропустит может увеличить sleep? увеличение sleep, не очень помогло, думается мне надо блокирующую переменную ввести и дел с концом. Ввел переменную - все как надо, может действительно не заниматься буквоедством? Критическую секцию использовали? - Использовали!
0
|
|
|
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
|
|
| 18.12.2011, 20:55 | |
|
решать вам,но может стоит проверочное условие внести в секцию и если усовие выполняется освобождать кр секцию и брик
1
|
|
|
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 19
|
|
| 19.12.2011, 00:56 [ТС] | |
|
попробовал. не получилось. остановился на семафорах!
0
|
|
| 19.12.2011, 00:56 | |
|
Как заставить процесс всегда запускаться в одном и том же адресном пространстве? Два приложение на одном процессе Два сайта на одном движке на одном хостинге
Даны два предложения. Напечатать слова, которые есть только в одном! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|