170 похожих чатов

Слушайте, а GIL защищает целостность данных между потоками (чтобы один

не изменил важные для другого данные в неожиданный момент времени и интерпритатор не лег) путем контролирования момент просыпания потоков или как?

21 ответов

18 просмотров

Нет.

Пупа- Автор вопроса
evle
Нет.

а как

Пупа
а как

GIL защищает целостность интерпретатора. К твоим данным он никакого отношения не имеет.

гил не защищает юзер код

Пупа- Автор вопроса

Тогда GIL защищает от непреднамеренного удаления объекта из памяти в связи с тем, что, из-за состояния гонки, потоки могут неверно изменять счетчик ссылок на него? Например: Первый поток создает ссылку на объект и потом неожиданно засыпает, не успев увеличить счетчик, далее просыпается второй, который уменьшает счетчик до нуля и из-за этого срабатывает сборщик мусора удаляя объект из памяти. Затем вновь просыпается первый и пытается оперировать объектом, который уже удален, что вызывает смерть интерпритатора. Верно описал задачу, от который GIL спасает нас?

Пупа
Тогда GIL защищает от непреднамеренного удаления о...

Ну или счетчик ошибочно нарастится, и наоборот, объект никогда не деаллоцируется

Пупа- Автор вопроса
quantum super position
Ну или счетчик ошибочно нарастится, и наоборот, об...

Кстати, теперь хочу узнать верно ли я понимаю понятие итератор. Итератор - это не сколько объект коллекции, а больше объект потока данный, который позволяет, постепенно, получать предметы данной коллекции?

Пупа- Автор вопроса
evle
Что такое "поток данных"?

последовательность элементов, элемент которой мы получаем при обращении постепенно а не все сразу

Пупа
последовательность элементов, элемент которой мы п...

Ну, какой-то абстрактный термин, откуда у него объекты?

Пупа- Автор вопроса
Пупа- Автор вопроса
Пупа
не у него самого, а у коллекции

он является способом получения объектов

Пупа
не у него самого, а у коллекции

Итератор не обязан быть привязан к какой-либо коллекции.

Пупа- Автор вопроса

хммммм

Пупа
хммммм

Угу. Итератор есть, коллекции нет. Задача итератора - последовательно отдавать какие-то данные (и при необходимости хранить состояние). Где брать данные - его личное дело.

Пупа- Автор вопроса
evle
Угу. Итератор есть, коллекции нет. Задача итератор...

тогда какой термин будет уместен вместо "поток данных"?

Пупа
тогда какой термин будет уместен вместо "поток дан...

Фиг знает, в абстрактном виде можно и так, я только на "объектах" завис.

Пупа- Автор вопроса

Я думаю можно из того определения убрать момент "получать предметы данной коллекции" и оставить "это не сколько объект коллекции", чтобы делать акцент что это не коллекция и к ней он никак не привязан

Пупа
Я думаю можно из того определения убрать момент "п...

Собственно, в доке питона буквально: итератор - объект, представляющий поток данных (representing a stream of data). Сравни формулировку.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта