Bibliotecas: Mutex - en una WinAPI pura

 

Mutex - en una WinAPI pura:

Sincronizamos los procesos de ОС/EA/MT, etc. Nada de DLL de autoría propia. ¡Ha llegado la hora de que mantenga todo bajo su control!

Autor: o_O

 

Ahora es posible enlazar diferentes búhos en un sistema sin hacer un kuchumala :)

¿Entonces entiendes que mutex funciona sin semáforos?

 
¡Respeto y respeto al colega Sergeyev por las ideas y el trabajo!
 
Urain:

¿Entonces entiendes que mutex funciona sin semáforos?

Nikolai, :) mutex es mutex. por si mismo. puedes ver como se crea. CreateMutex

Realmente no nos importa como lo asocia el kernel.

Ahora puedes enlazar diferentes owls en un sistema sin hacer un heap).

Si tienes todos los expas en un código y un thread en la tabla, no necesitas mutexes por definición.

Los necesitas para sincronizar diferentes hilos/procesos.

 
Urain:

Ahora es posible enlazar diferentes búhos en un sistema sin hacer un kuchumala :)

¿Entonces entiendes que mutex funciona sin semáforos?

Es un tipo de semáforo.

--

Gracias Alex, es realmente más relajante enlazar aplicaciones con esta cosa.

 

No entiendo si necesito este mutex o no.

Ejemplo. Creo un archivo en memoria usando File Mapping. ( https://www.mql5.com/es/code/818 )

50 bytes de tamaño.

Ejecuto 100 Expert Advisors que trabajan con este fichero en memoria. Todos ellos trabajan así.

while(1)
  {
   // Leer de un fichero en memoria
   // Escribir en un fichero en memoria.
  }


Que 50 Asesores Expertos escriban en el archivo en memoria sólo un cero, y 50 sólo un uno. Y la escritura y la lectura siempre se hace a la vez, es decir, utilizando sólo una

funciones Read,Write.

Si entiendo bien esta parte de la descripción:

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

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

es posible que haya una situación cuando no sólo ceros o unos, sino una parte de ceros y una parte de unos pueden ser descargados de un archivo en la memoria. ¿O he entendido algo mal? ¿Hay alguna desventaja de la lectura continua en un bucle del mismo archivo en memoria, esperando su cambio?

File Mapping без DLL
File Mapping без DLL
  • www.mql5.com
Мониторинг котировок (пример для маппинга) Пример использования DLL для работы с функциями File Mapping. В данном примере запущенный эксперт создает виртуальный файл в памяти и начинает обновлять в нем котировку символа. При запуске экспертов в других терминалах, эти эксперты открывают созданный файл и аналогично начинают обновлять свои...
 
¿Es posible escribir un análogo como interruptor en mutexes?