Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Кроик Семён А вот если организовать что-то такое: 1) простенькой COM-объект 2) и пусть каждое приложение создаёт себе его экземпляр 3) у COM-объекта пусть будет событие (не знаю, возможно такое), связанное с изменением числа инстансов и обработчик этого события и есть искомая фишка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 13:37 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
а где ТС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 13:53 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Barmaley57 Каждый процесс создаёт в заведомо известном каталоге временный файл (флаг FILE_FLAG_DELETE_ON_CLOSE) и подписывается на изменения содержимого каталога. Всё. Телемаркет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:09 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий семафоры +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:16 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Мне уже интересно: как это реализовать на семафорах? Раз плюсуют, значит знают способ... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:20 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Автор невовремя пропал, конечно. Квейд Хочу решить такую задачу - мне нужно отреагировать в момент, когда пользователь закрывает два экземляра, и остается только один (последний). Для этого reference counter не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:28 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий а где ТС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:33 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Не, это стародавний товарищ, а не тролль-новобранец. :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:36 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Barmaley57 Barmaley57 Каждый процесс создаёт в заведомо известном каталоге временный файл (флаг FILE_FLAG_DELETE_ON_CLOSE) и подписывается на изменения содержимого каталога. Всё. Телемаркет. Если будут считать файлы перед созданием своего - будут считать себя главными оба. Если после - то оба будут считать себя НЕглавными (с большой вероятностью). Каша какая-то, по нотификации изменений следить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:37 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий а где ТС? Сделал всё на семафорах после первого коммента :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:37 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Да, вроде, ничего сложного. https://delphi.cjcsoft.net/viewthread.php?tid=47350 Семафор, он же именованный и уникальный для всей системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:37 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Хотя я бы еще проще поступил (для твоей задачи). Возможно, это тупо... Но просто писал бы реестр нужную циферку. А реестр, один фиг в памяти болтается. Так, что все весьма шустро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:40 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Virtual StudentДа, вроде, ничего сложного. Только тамошний пример не имеет ничего общего с задачей топика... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:43 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
YuRock Ситуация. Папка пустая. Два процесса запускаются одновременно. Потом ТС ничего не говорил про главный/не главный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:45 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
А если сделать dll-библиотеку со счётчиком и делать InterlockedIncrement() при DLL_PROCESS_ATTACH и InterlockedDecrement() при DLL_PROCESS_DETACH. А когда он станет равен 1 взводить какой-нибудь Event?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:55 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
alekcvpА если сделать dll-библиотеку со счётчиком У библиотеки, загруженной в разные процессы, уже лет 25 как нет общего сегмента данных. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:56 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
alekcvp InterlockedIncrement() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 14:58 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov alekcvpА если сделать dll-библиотеку со счётчиком У библиотеки, загруженной в разные процессы, уже лет 25 как нет общего сегмента данных. Они то как раз общие, пока читаешь. А потом COPY_ON_WRITE и усё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 15:00 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
YuRock У меня идея такая, как вариант. 1. Пытаемся создать серверный сокет на определенный порт. 2. Если получилось - ты единственная (главная) программа. 3. Если не получилось - пытаемся подключиться к такому серверу. Подключились, и начинаем вечно чего-то ждать от сервера. Как придет ошибка (сервер закрылся) - возвращаемся в п. 1. На локальных сокетах должно всё мгновенно отрабатывать по идее, даже если жОстко снять процесс сервера. Лучше заменить на именованный пайп. Плюс в том, что нет коллизии с другим софтом, который вдруг будет слушать именно этот порт. Либо можно бродкастить UDP сообщения по типу UPNP протокола. Или сообщения рассылать (периодически пингуя главного) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 15:01 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Virtual StudentДа, вроде, ничего сложного. Только тамошний пример не имеет ничего общего с задачей топика... Там и с mutex'ом пример в конце... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 15:01 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Virtual StudentТам и с mutex'ом пример в конце... Да хоть с чёртом с рогами. Покажите на пальцах как на семафоре и/или мутексе сделать счётчик ссылок с сигнализацией достижения единицы или хотя бы нуля, устойчивый к TerminateProcess. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 15:03 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal YuRock У меня идея такая, как вариант. 1. Пытаемся создать серверный сокет на определенный порт. 2. Если получилось - ты единственная (главная) программа. 3. Если не получилось - пытаемся подключиться к такому серверу. Подключились, и начинаем вечно чего-то ждать от сервера. Как придет ошибка (сервер закрылся) - возвращаемся в п. 1. На локальных сокетах должно всё мгновенно отрабатывать по идее, даже если жОстко снять процесс сервера. Лучше заменить на именованный пайп. Плюс в том, что нет коллизии с другим софтом, который вдруг будет слушать именно этот порт. Либо можно бродкастить UDP сообщения по типу UPNP протокола. Мдя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 15:03 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Создаем мьютекс: Код: pascal 1. Проверяем его владельца: Код: pascal 1. 2. 3. 4. 5. 6. Или тебе необходимо точное количество запущенных копий приложения? Вот еще ресурс по теме: https://streletzcoder.ru/rabota-s-myuteksami-v-stile-oop-delphi-tmutex/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 15:16 |
|
||
|
Глобальный reference counter для нескольких процессов?
|
|||
|---|---|---|---|
|
#18+
Virtual Student, и как это поможет прореагировать в тот момент, когда горец отрубит предпоследнюю голову? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2021, 15:19 |
|
||
|
|

start [/forum/topic.php?fid=58&startmsg=40075027&tid=2037229]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 275ms |
| total: | 557ms |

| 0 / 0 |
