Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для Saiberg
20 / 20 / 2
Регистрация: 23.09.2010
Сообщений: 193

Синхронизация потоков - найти ошибку в коде

06.08.2011, 14:27. Показов 1360. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
не получается разрулить следующую ситуацию.

дано:
переменная.
2 треда.

1 поток рулит переменной.
2 поток может обращатся к переменной из первого потока через специальную функцию аксессор.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
static pthread_mutex_t g_mutex = PTHREAD_MUTEX_INITIALIZER;
static int i;
 
void access_func(int newi)
{
    pthread_mutex_lock(&g_mutex);
    i = newi;
 
    pthread_mutex_unlock(&g_mutex);
}
 
void thread_func()
{
    pthread_mutex_lock(&g_mutex);
    
    ++i;
    pthread_mutex_unlock(&g_mutex);
}
сделал следующее, но в итоге получаю дедлок на
C
1
pthread_mutex_lock(&g_mutex);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.08.2011, 14:27
Ответы с готовыми решениями:

Синхронизация потоков на элементарном уровне (переключение потоков)
в общем разбираюсь с потоками, на сколько понял мне нужен lock Вот имеется просто пример public void RunAdd() ...

Синхронизация потоков: проблема гонки потоков
Есть проблема в синхронизации потоков, которую я не знаю, как решить. Точнее у меня получается типичная гонка потоков. Есть функция,...

Двумерный массив. Поиск нулей.Не могу найти ошибку ошибку в коде
Вот,например массив 5 5 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 считываются два числа m и n и далее в выходной...

4
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
06.08.2011, 14:36
не видать дедлока, давайте больше кода
1
 Аватар для Saiberg
20 / 20 / 2
Регистрация: 23.09.2010
Сообщений: 193
06.08.2011, 14:40  [ТС]
спасибо. оказывается я небольшую опечатку в коде допустил : )
и в тестовой программке токую же, часа 3 убил на то, что понять в чем косяк : D
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
06.08.2011, 16:29
Цитата Сообщение от Saiberg Посмотреть сообщение
опечатку в коде допустил
показывай. форум все же
0
 Аватар для Saiberg
20 / 20 / 2
Регистрация: 23.09.2010
Сообщений: 193
07.08.2011, 11:03  [ТС]
C
1
2
3
4
if(...);
{
   ...
}
примерно так
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.08.2011, 11:03
Помогаю со студенческими работами здесь

Синхронизация потоков
Всем добрый день. Возникла проблема с синхронизацией потоков. Есть определенная программа о которой я писал тут, там же можете найти и...

Синхронизация потоков
Здравствуйте. Подскажите пожалуйста. У меня есть три потока. Мне нужно чтобы они запускались последовательно (1 - 2 -3). Подскажите как это...

Синхронизация потоков
Доброго дня, форум. столкнулся с данной проблемой: при пересоздании и перезапуске потока (которая, к слову, происходит тоже в отдельном...

Синхронизация потоков
Как переделать с использованием mutex или еще чего нибудь? /*Три нити. Одна генерирует тройки чисел, вторая решает...

Синхронизация потоков
Доброго времени суток! Задача состоит в том, чтобы отсортировать слова пользуясь алгоритмом слияния. Алгоритм реализован правильно, но...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru