powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / "а был ли мальчик?"
22 сообщений из 47, страница 2 из 2
"а был ли мальчик?"
    #36792185
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

мне показалось это понятным - если не ошибаюсь, сначала быстро идет проверка non-thread safe, а если она прошла, то уже идёт дорогая thread-safe проверка и исполнение.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792186
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym... дорогая thread-safe проверка ...
С блэкджэком и блокировкой.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792220
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymмне показалось это понятным - если не ошибаюсь, сначала быстро идет проверка non-thread safe, а если она прошла, то уже идёт дорогая thread-safe проверка и исполнение.А Вы не задумывались над таким простым вопросом: «если проверка non-thread safe может возвращать реальные результаты, зачем нужна thread-safe проверка»?
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792221
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш,

потому что проверка массива и последующее действие над ним - не атомарно. После входа в критическую секцию и соответствующей блокировки - атомарно.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792224
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymЁш,

потому что проверка массива и последующее действие над ним - не атомарно. После входа в критическую секцию и соответствующей блокировки - атомарно.«Потому что потому» — это круто :)

«потому что проверка массива и последующее действие над ним - не атомарно» — я Вам про это и пишу, как Вы можете проверить «non-thread safe» это состояние? Это невозможно.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792232
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш,

ну объясните тогда нам, как надо?
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792233
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёшя Вам про это и пишу, как Вы можете проверить «non-thread safe» это состояние? Это невозможно.
А я и не собираюсь без блокировки его проверять. Без блокировки только проверяется нужно ли проверять тщательно или нет.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792234
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymЁш,

ну объясните тогда нам, как надо?Я не знаю, я у Вас и спрашиваю — как Вы предлагаете одновременно для одних и тех же данных делать non-thread safe и thread safe проверку? :)

ps: ладно замнём, мне всё равно :)
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792235
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymА я и не собираюсь без блокировки его проверять. Без блокировки только проверяется нужно ли проверять тщательно или нет.Как?
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792236
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёшan0nymА я и не собираюсь без блокировки его проверять. Без блокировки только проверяется нужно ли проверять тщательно или нет.Как?
Так.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792238
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymЁшan0nymА я и не собираюсь без блокировки его проверять. Без блокировки только проверяется нужно ли проверять тщательно или нет.Как?
Так.ок :)
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792277
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёшan0nymЁш,

ну объясните тогда нам, как надо?Я не знаю, я у Вас и спрашиваю — как Вы предлагаете одновременно для одних и тех же данных делать non-thread safe и thread safe проверку? :)

ps: ладно замнём, мне всё равно :)
Еж, давай я тебе расскажу одну штуку, о которой ты наверное невкурсе. Есть такая структура данных. Называется Фильтр Блума. По сути это хеш-таблица, которая хранит булевые значения. Она имеет фиксированный размер но способна хранить универсальное множество (универсум) всех ключей. Здесь - подвох скажешь ты. Да. Подвох. Фильтр Блума выдает нечёткий результат. Правильнее сказать для некоторых проверок он выдаёт ложные срабатывания. Т.е ключ есть с вероятностью 99.5 % к примеру. И чем больше ключей в фильтре - тем больше ложных срабатываний. Единственное что он говорит точно - то что такой ключ в множестве отсутствует. Несмотря на эту особенность фильтр Блума (я-бы назвал его хешем Блума) используется в прокси-серверах для ПРЕДВАРИТЕЛЬНОЙ проверки URL на наличие в реальном кеше. Всё благодаря его скорости работы.

Вот тебе полезный эффект от ПРЕДВАРИТЕЛЬНОЙ проверки.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792285
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

в итоге я был близко к истине или нет? :)
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792288
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymсначала быстро идет проверка non-thread safe, а если она прошла, то уже идёт дорогая thread-safe проверка и исполнение.
Да.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792445
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕж, давай я тебе расскажу одну штуку, о которой ты наверное невкурсе. Есть такая структура данных. Называется Фильтр Блума. По сути это хеш-таблица, которая хранит булевые значения. Она имеет фиксированный размер но способна хранить универсальное множество (универсум) всех ключей. Здесь - подвох скажешь ты. Да. Подвох. Фильтр Блума выдает нечёткий результат. Правильнее сказать для некоторых проверок он выдаёт ложные срабатывания. Т.е ключ есть с вероятностью 99.5 % к примеру. И чем больше ключей в фильтре - тем больше ложных срабатываний. Единственное что он говорит точно - то что такой ключ в множестве отсутствует. Несмотря на эту особенность фильтр Блума (я-бы назвал его хешем Блума) используется в прокси-серверах для ПРЕДВАРИТЕЛЬНОЙ проверки URL на наличие в реальном кеше. Всё благодаря его скорости работы.

Вот тебе полезный эффект от ПРЕДВАРИТЕЛЬНОЙ проверки.
Спасибо за упоминание фильтра Блума, погуглил, почитал - очень интересная вещь. А где подобные вещи описаны? Кого читать для просвещения?
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792460
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Увы, не знаю. Я о фильтре Блума прочитал чисто случайно, когда
искал обзорные статьи о squid (если мне не изменяет память).
Дальше - wiki и т.д. кликаем по ссылкам.
В фундаментальной литературе по алгоритмам и (Кнут, Вирт и прочие) СД
я к сожалению упоминания об этой структуре данных не находил.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792475
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВот тебе полезный эффект от ПРЕДВАРИТЕЛЬНОЙ проверки.Фильтр Блума non-thread safe?
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792481
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОт языка зависит. Но для большинства императивных заход в выражение for(..) выполняется всегда хотя-бы 1 раз независимо от результата предиката цикла.

Это с чего-бы ???
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36792488
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЁшmaytonВот тебе полезный эффект от ПРЕДВАРИТЕЛЬНОЙ проверки.Фильтр Блума non-thread safe?
Забудь про thread-safe. Я хотел привести пример вероятностной оптимизации.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36796429
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton wrote:

> От языка зависит. Но для большинства императивных заход в выражение
> for(..) выполняется всегда хотя-бы 1 раз независимо от результата
> предиката цикла.

Я наверное понял, что ты имел в виду.
Что выражения в цикле выполняются хотя бы один раз.

for( int i = array.get_size(); i < array.size(); ++i )
{
process_element( array[i] );
}

int i = array.get_size();

и

i < array.size();

будут выполняться как правило хотя бы один раз в большинстве языков
программирования. Это вполне правильное утверждение.

Но

process_element( array[i] );

в большинстве языков программирования МОЖЕТ НЕ ВЫПОЛНИТСЯ НИ РАЗУ,
потому что в большинстве языков большинство циклов являются циклами
с предусловиями.
(в C/C++ while, for -- с предусловиями, do ... while -- с постусловиями).

Поскольку в 90% случаев кода пробега по массивам условие выхода
из цикла должно проверять наличие текущего элемента в массиве
тем или иным образом (в смысле -- не кончился ли ещё массив),
то я лично считаю, что в циклас с предусловиями НЕ НАДО проверять массив
на пустоту, прежде чем по нему бежать. В циклах с постусловием -- надо.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36796491
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да.
...
Рейтинг: 0 / 0
"а был ли мальчик?"
    #36797297
i'm_novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем большое спасибо!
...
Рейтинг: 0 / 0
22 сообщений из 47, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / "а был ли мальчик?"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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