Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Окт 24, 2019 16:09  что значит строка &mod$stream(dep_ref%id) |
|
Полезность: Нет оценки
|
всем доброго дня!
подскажите, что значит/делает строка:
Код: | &mod$stream(dep_ref%id) |
|
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Чт Окт 24, 2019 16:23  Re: что значит строка &mod$stream(dep_ref%id) |
|
Полезность: Нет оценки
|
Псевдоним123 пишет: | всем доброго дня!
подскажите, что значит/делает строка:
Код: | &mod$stream(dep_ref%id) |
|
&mod$stream с большой долей вероятности стандартное разделение по потокам с использованием mod
dep_ref%id с большой долей вероятности ссылка на депозит
итого видимо многопоточная обработка депозитов реализованная в операции, откуда вырезана эта строка
Последний раз редактировалось: Матвеев Евгений (Чт Окт 24, 2019 16:29), всего редактировалось 1 раз |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Окт 24, 2019 16:26  Re: что значит строка &mod$stream(dep_ref%id) |
|
Полезность: Нет оценки
|
Матвеев Евгений пишет: | Псевдоним123 пишет: | всем доброго дня!
подскажите, что значит/делает строка:
Код: | &mod$stream(dep_ref%id) |
|
&mod$stream с большой долей вероятности стандартное разделение по потокам с использованием mod
dep_ref%id с большой долей вероятности ссылка на депозит |
это я уже понял.
не подскажете, почему данная строка возвращает false?
Код: | bool_val := &mod$stream(dep_ref%id); |
|
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Чт Окт 24, 2019 16:49  Re: что значит строка &mod$stream(dep_ref%id) |
|
Полезность: Нет оценки
|
Псевдоним123 пишет: | Матвеев Евгений пишет: | Псевдоним123 пишет: | всем доброго дня!
подскажите, что значит/делает строка:
Код: | &mod$stream(dep_ref%id) |
|
&mod$stream с большой долей вероятности стандартное разделение по потокам с использованием mod
dep_ref%id с большой долей вероятности ссылка на депозит |
это я уже понял.
не подскажете, почему данная строка возвращает false?
Код: | bool_val := &mod$stream(dep_ref%id); |
|
это текст пакета? если да, то на plplus как выглядит? |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Окт 24, 2019 17:10   |
|
Полезность: Нет оценки
|
вот так:
где P#STREAM#COUNT - Количество потоков
plp$P#STREAM#NUM - Номер потока
Код: | BOOL_VAL := MOD(DEP_REF,plp$P#STREAM#COUNT) = plp$P#STREAM#NUM; |
интересно..., а для чего проверять остаток от деления для потоков? |
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Чт Окт 24, 2019 17:12   |
|
Полезность: Нет оценки
|
Псевдоним123 пишет: | вот так:
где P#STREAM#COUNT - Количество потоков
plp$P#STREAM#NUM - Номер потока
Код: | BOOL_VAL := MOD(DEP_REF,plp$P#STREAM#COUNT) = plp$P#STREAM#NUM; |
интересно..., а для чего проверять остаток от деления для потоков? |
Условно говоря чтобы внутри пула из COUNT потоков знать номер потока выполняемого в настоящий момент и соответственно назначать для него уникальную обработку своего куска работы |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Окт 24, 2019 23:17   |
|
Полезность: Нет оценки
|
Матвеев Евгений пишет: | Псевдоним123 пишет: | вот так:
где P#STREAM#COUNT - Количество потоков
plp$P#STREAM#NUM - Номер потока
Код: | BOOL_VAL := MOD(DEP_REF,plp$P#STREAM#COUNT) = plp$P#STREAM#NUM; |
интересно..., а для чего проверять остаток от деления для потоков? |
Условно говоря чтобы внутри пула из COUNT потоков знать номер потока выполняемого в настоящий момент и соответственно назначать для него уникальную обработку своего куска работы |
да. Упрощенно говоря, это разделение объектов по ID между потоками для высокоскоростной параллельной обработки.
Например у тебя 100 Id депозитов и 4 потока. Кажлый поток должен забрать свои конкретные 25 id чтобы не было потерь (ни один поток не взял какой то id) или блокировок ( поток пытался захватить в обработку id который уже обрабатывается другим. Для этого используется математический трюк с mod |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Пт Окт 25, 2019 15:18   |
|
Полезность: Нет оценки
|
спасибо за объяснения. |
|
 |
|