Bibliotecas: Mutex - WinAPI

 

Mutex - WinAPI:

Sincroniza processos ОС/EA/MT etc. Não são mais necessários DLLs agora.

Autor: o_O

 

Agora é possível vincular diferentes corujas em um sistema sem fazer um kuchumala :)

Então você entende que o mutex funciona sem semáforos?

 
Respeito e respeito ao colega Sergeyev pelas ideias e pelo trabalho!
 
Urain:

Então você entende que o mutex funciona sem semáforos?

Nikolai, :) mutex é mutex. por si só. você pode ver como ele é criado. CreateMutex

Na verdade, não nos importamos com a forma como o kernel o associa.

Agora você pode vincular diferentes corujas em um sistema sem criar um heap).

Se você tiver todas as expas em um código e um thread no gráfico, não precisará de mutexes por definição.

Você precisa deles para sincronizar diferentes threads/processos.

 
Urain:

Agora é possível vincular diferentes corujas em um sistema sem fazer um kuchumala :)

Então você entende que o mutex funciona sem semáforos?

Ele é um tipo de semáforo.

--

Obrigado, Alex, é realmente mais tranquilo vincular aplicativos com essa coisa.

 

Não entendo se preciso ou não desse mutex.

Exemplo. Crio um arquivo na memória usando o mapeamento de arquivos. ( https://www.mql5.com/pt/code/818 )

50 bytes de tamanho.

Executo 100 Expert Advisors que trabalham com esse arquivo na memória. Todos eles funcionam assim.

while(1)
  {
   // Ler de um arquivo na memória
   // Gravar em um arquivo na memória.
  }


Deixo 50 Expert Advisors escreverem no arquivo na memória apenas um zero e 50 apenas um um um. E a gravação e a leitura são sempre feitas de uma só vez, ou seja, usando apenas uma função

funções Read e Write.

Se entendi corretamente essa parte da descrição:

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

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

é possível que haja uma situação em que não apenas zeros ou uns, mas uma parte de zeros e uma parte de uns possam ser baixados de um arquivo na memória. Há alguma desvantagem na leitura contínua em um loop do mesmo arquivo na memória, aguardando sua alteração?

File Mapping без DLL
File Mapping без DLL
  • www.mql5.com
Мониторинг котировок (пример для маппинга) Пример использования DLL для работы с функциями File Mapping. В данном примере запущенный эксперт создает виртуальный файл в памяти и начинает обновлять в нем котировку символа. При запуске экспертов в других терминалах, эти эксперты открывают созданный файл и аналогично начинают обновлять свои...
 
É possível escrever um análogo como o switch em mutexes?