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

Ребят, сделал Singleton. Это нормально, что в стеке дебаггера вот

такое?)

24 ответов

16 просмотров

Удали синглтон

Нахрен тебе синглтон?

Хз что ты нам показываешь :)

shitstore... самокритично)))

Это атрибут класса что ли? Ну логично

Shawn-🥟 Автор вопроса
Tishka17
Хз что ты нам показываешь :)

Сделал синглтон. Вот реализация: def __new__(cls, credentials_path: str, key: bytes): if not hasattr(cls, "instance"): cls.instance = super(Core, cls).__new__(cls) return cls.instance

Shawn-🥟 Автор вопроса
Denis Kalinochkin
Замени на глобальную переменную

Это действительно сильно лучше, чем синглтон?)

Shawn-🥟 Автор вопроса
Tishka17
Не тред сейф

А глобал переменная будет тред сейф?)

Shawn 🥟
А глобал переменная будет тред сейф?)

Да, она будет создаваться при импорте.

это не синлтон это объект ссылается сам на себя синглтон про другое

Shawn-🥟 Автор вопроса
Tishka17
Да, она будет создаваться при импорте.

Не при импорте. Мне ж надо как-то еще аргументы передать)

Shawn 🥟
Это действительно сильно лучше, чем синглтон?)

ну в коде просто ф = Ф() и импортируй где надо и все

Tishka17
Не тред сейф

Можно подробнее, что тут может сломаться в тредах?

Evgeniy Blinov
Можно подробнее, что тут может сломаться в тредах?

чего уж тут конкретней. может быть создано два экземпляра в разных тредах

Evgeniy Blinov
Можно подробнее, что тут может сломаться в тредах?

Либо мьютексы вези, либо делай тредлокал синглтоны

Evgeniy Blinov
Можно подробнее, что тут может сломаться в тредах?

как думаешь что будет если два треда сначала выполнят if not hasattr(cls, "instance"): и в обоих случаях этот код вернет False

Alex
как думаешь что будет если два треда сначала выпол...

Один тред создаст инстанс первым, второй его перезапишет

Evgeniy Blinov
Один тред создаст инстанс первым, второй его перез...

так же в одном треде может вернуться один инстанс, в другом — другой.

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

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

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...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта