Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4]      все
 Re: Глобальный reference counter для нескольких процессов?  [new]
Квейд
Member

Откуда: Kyiv, Ukraine
Сообщений: 5406
Мимопроходящий

07.06.2021 13:29, Квейд пишет:
> Верно, именно так

ты задачу-то опиши.
а то народ и дальше будет городить огороды.
Мне нужно чистить хитрый внешний ресурс при закрытии приложения, и есть условие что это надо делать только если в системе запущен один экземпляр программы.
7 июн 21, 13:39    [22332269]     Ответить | Цитировать Сообщить модератору
 Re: Глобальный reference counter для нескольких процессов?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53435

Квейд
Не могу уложить в голове, как тогда обойтись без счетчика ссылок.

Проблема в том, что и счётчик ссылок тебе в этом случае не поможет.

Posted via ActualForum NNTP Server 1.5

7 июн 21, 13:41    [22332273]     Ответить | Цитировать Сообщить модератору
 Re: Глобальный reference counter для нескольких процессов?  [new]
Квейд
Member

Откуда: Kyiv, Ukraine
Сообщений: 5406
Dimitry Sibiryakov

Квейд
Не могу уложить в голове, как тогда обойтись без счетчика ссылок.

Проблема в том, что и счётчик ссылок тебе в этом случае не поможет.
Почему? Если счетчик равен единице, значит "мы последние". На первый взляд все просто. Что я мог пропустить?
7 июн 21, 13:54    [22332279]     Ответить | Цитировать Сообщить модератору
 Re: Глобальный reference counter для нескольких процессов?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53435

Квейд
Что я мог пропустить?

Гонки потоков.

В твоём случае я бы вынес работу с "хитрым внешним ресурсом" в сервис, который всегда
один, а из приложений уже взаимодействовал с ним.

Posted via ActualForum NNTP Server 1.5

7 июн 21, 14:06    [22332294]     Ответить | Цитировать Сообщить модератору
 Re: Глобальный reference counter для нескольких процессов?  [new]
Кроик Семён
Member

Откуда: СПб --> Dortmund
Сообщений: 6743
Квейд,

А если по таймеру из каждого инстанса мониторить список процессов, можно было бы поймать тот момент, когда определённый EXEшник остался один.

Если же не хочется привязываться к имени EXE файла, то можно было бы в каждом создать через AllocateHWnd невидимое окно со специфическими свойствами и периодически мониторить окна верхнего уровня.
7 июн 21, 17:41    [22332463]     Ответить | Цитировать Сообщить модератору
 Re: Глобальный reference counter для нескольких процессов?  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 12885
Кроик Семён
можно было бы поймать тот момент, когда определённый EXEшник остался один.
Можно. А в следующий тик их будет два
7 июн 21, 18:48    [22332495]     Ответить | Цитировать Сообщить модератору
 Re: Глобальный reference counter для нескольких процессов?  [new]
alekcvp
Member

Откуда:
Сообщений: 2870
_Vasilisk_
Кроик Семён
можно было бы поймать тот момент, когда определённый EXEшник остался один.
Можно. А в следующий тик их будет два

От этого ты никак не застрахуешься в обычной операционной системе. Разве что перед проверкой устанавливать какой-нибудь эвент, который запрещает запуск новых экземпляров.
8 июн 21, 13:48    [22332858]     Ответить | Цитировать Сообщить модератору
 Re: Глобальный reference counter для нескольких процессов?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32387

08.06.2021 13:48, alekcvp пишет:
> От этого ты никак не застрахуешься в обычной операционной системе.

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

Posted via ActualForum NNTP Server 1.5

8 июн 21, 13:53    [22332866]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4]      все
Все форумы / Delphi Ответить