powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как работает $Increment
4 сообщений из 4, страница 1 из 1
Как работает $Increment
    #35928947
Гость68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возник вопрос, кто нибудь знает как точно работает эта функция, когда вызывается?
S id=$I(^GL) //1
S ^GL(id)="12" //2
S ^GL(id,"A")="A" //3
S ^GL(id,"B")="B" //4

после //1 в глобале такая картина ?
^GL(lastid)=""
и следовательно если сторонний процесс обратиться то получит пустую строку?
а после //2
^GL(lastid)="12"

Спасибо
...
Рейтинг: 0 / 0
Как работает $Increment
    #35928973
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость68как точно работает эта функция
После вызова
$i(val,inc)
происходит блокировка (если это глобальная переменая), затем собственно инкремент, т.е. значение переменой + inc, присвоение переменой результата, снятие блокировки и возврат результата.
Т.е. если несколько процессов одновремено сделают вызов инкремента одной глобальной переменой - они все получат разные результаты.

Гость68когда вызывается?
По желанию разработчика

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
S id=$I(^GL)     
//   значение переменной ^GL увеличено на  1 , результат теперь хранится в id
S ^GL(id)="12"           
// переменой ^GL(id) присвоено значение  12 
S ^GL(id,"A")="A"       
// переменой ^GL(id,"A") присвоено значение "A"
S ^GL(id,"B")="B"       
// переменой ^GL(id,"B") присвоено значение "B"

Вроде всепросто...
...
Рейтинг: 0 / 0
Как работает $Increment
    #35929575
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
$INCREMENT - атомарная операция, не требующая блокировки.
...
Рейтинг: 0 / 0
Как работает $Increment
    #35929639
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servit , специальной нет. Она т.с. там "внутри"...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как работает $Increment
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]