![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Andrewshkovskii |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Подруга попросила помочь с лабой. Суть такова :
при нажатии "1" первая переменная ++. при нажатии "2" вторая переменная ++. Теже самые действия должны происходить и в потоках, но с задержкой. Для чего и используются функции атомизированные. Но почему-то все равно идет асинхронизация. Мне кажется это из-за задержки, т.к атомизированные функции прервать нельзя, а вот во время задержки - делай что хочешь... как можно побороть? //InterlockedIncrement |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
А теперь - поконкретнее: 1) чего надо добиться? 2) что вообще выводится на экран? Я в этой куче цифр чего-то полезное могу найти? 3) задание - сделать это именно через Interlocked? Или сделать вообще?
|
Andrewshkovskii |
![]()
Сообщение
#3
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
1. Синхронизации.
2. номер операции. код нажатой клавищи. ID потока, время начала работы потока, время конца работы потока, переменная в мэйне1 и 2, и в потоках. ПО коду можно посмотреть..лаба запутанная, да. 3. Да. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Я так и не понял, чего тебе надо добиться? Какой синхронизации? При чем здесь Interlocked? Ты что, хочешь "вывернуть наизнанку" смысл Interlocked... функций, и сделать всю потоковую функцию атомарной? Это реализуется не через Interlocked, у них другая задача... CriticalSection - возможно - то, что тебе нужно...
|
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 18:16 |