|
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
|
||||||
Синхронизация потоков06.07.2012, 13:33. Показов 2343. Ответов 8
Метки нет (Все метки)
Столкнулся с непонятной проблемой.Хочу решить задачу типа два потока заполняют буфер по очереди.
Сначала поток А выводит символ "А" затем поток Б символ "Б".Ловлю дедлок,при первом же проходе по циклу.Вставил пару предложений для проверки,получается что компилятор(netbeans) оптимизирует volatile переменную? Суть алгоритма такова:Если поток А находится в синхронизирующем блоке А то поток Б засыпает. Если поток А заходит в синхр блок Б то он будит поток Б.На выходе получаю [A] A osv B A wait -1 B wait -0 Получается поток А первый проходит все мониторы,а поток Б ждет освобожд монитора Б.Поток А меняет флаги в мониторе Б давая тем самым потоку Б отработать выходит из монитора Б.Поток Б наконец то попадает в монитор Б сейчас уже флагБ==ложь и поток Б не должен уснуть по wait! Но он засыпает и получается дедлок. Все переменные типа volatile.Такое может происходить,если два потока находились в одном мониторе одновременно что по идее не возможно!или компилятор берет старое значения флага!Вопрос,что не так?Где я ошибся??
0
|
||||||
| 06.07.2012, 13:33 | |
|
Ответы с готовыми решениями:
8
Синхронизация потоков Синхронизация потоков |
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
| 06.07.2012, 14:58 | |
|
А ничего, что все Ваши мониторы - это физически один и тот же объект?
0
|
|
|
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
|
|
| 06.07.2012, 15:24 [ТС] | |
|
Так так же вроде и должно быть? В одном потоке я на объекте синхронизации вызываю wait а потом на том же объекте синхр вызываю notify в другом потоке
0
|
|
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|||||||
| 06.07.2012, 17:08 | |||||||
0
|
|||||||
|
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
|
||||||
| 06.07.2012, 17:47 [ТС] | ||||||
|
Хорошо,но иногда потоки все таки отрабатывают правильно!
0
|
||||||
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
||
| 06.07.2012, 18:13 | ||
|
1
|
||
|
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
|
|||||||
| 06.07.2012, 18:30 [ТС] | |||||||
Почему иногда потоки отрабатывают правильно(причем не так уж и редко)!?
0
|
|||||||
|
|
||
| 07.07.2012, 01:22 | ||
|
0
|
||
| 07.07.2012, 01:22 | |
|
Помогаю со студенческими работами здесь
9
Синхронизация потоков Синхронизация потоков. Синхронизация потоков в Java Синхронизация потоков. Java
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|