Bibliotheken: Mutex - WinAPI

 

Mutex - WinAPI:

Synchronisieren von ОС/EA/MT Prozessen etc. Jede selbst gemachte DLLs sind nicht mehr nötig.

Autor: o_O

 

Jetzt ist es möglich, verschiedene Eulen in einem System zu verbinden, ohne ein Kuchumala zu machen :)

Sie verstehen also, dass Mutex ohne Semaphoren funktioniert?

 
Respekt und Anerkennung für die Ideen und die Arbeit von Kollege Sergejew!
 
Urain:

Sie verstehen also, dass mutex ohne Semaphoren funktioniert?

Nikolai, :) mutex ist mutex. von selbst. Sie können sehen, wie es erstellt wird. CreateMutex

Es ist uns eigentlich egal, wie der Kernel ihn assoziiert.

Jetzt kannst du verschiedene Eulen in ein System einbinden, ohne einen Heap zu machen).

Wenn Sie alle Expas in einem Code und einen Thread auf der Karte haben, brauchen Sie per Definition keine Mutexe.

Man braucht sie, um verschiedene Threads/Prozesse zu synchronisieren.

 
Urain:

Jetzt ist es möglich, verschiedene Eulen in einem System zu verbinden, ohne ein Kuchumala zu machen :)

Sie verstehen also, dass der Mutex ohne Semaphore funktioniert?

Es ist eine Art von Semaphor.

--

Danke Alex, es ist wirklich entspannender, Anwendungen mit diesem Ding zu verbinden.

 

Ich verstehe nicht, ob ich diesen Mutex brauche oder nicht.

Beispiel. Ich erstelle eine Datei im Speicher mit File Mapping. ( https://www.mql5.com/de/code/818 )

50 Bytes groß.

Ich lasse 100 Expert Advisors laufen, die mit dieser Datei im Speicher arbeiten. Alle arbeiten wie folgt.

while(1)
  {
   // Lesen aus einer Datei im Speicher
   // Schreiben in eine Datei im Speicher.
  }


Lassen Sie 50 Expert Advisors in die Datei im Speicher nur eine Null schreiben, und 50 nur eine Eins. Und das Schreiben und Lesen erfolgt immer auf einmal, d.h. mit nur einer

Read,Write Funktionen.

Wenn ich diesen Teil der Beschreibung richtig verstanden habe:

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

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

ist es möglich, dass nicht nur Nullen oder Einsen, sondern ein Teil von Nullen und ein Teil von Einsen aus einer Datei im Speicher heruntergeladen werden können. Oder verstehe ich da etwas falsch? Gibt es irgendwelche Nachteile beim kontinuierlichen Lesen in einer Schleife der gleichen Datei im Speicher, während man auf ihre Änderung wartet?

File Mapping без DLL
File Mapping без DLL
  • www.mql5.com
Мониторинг котировок (пример для маппинга) Пример использования DLL для работы с функциями File Mapping. В данном примере запущенный эксперт создает виртуальный файл в памяти и начинает обновлять в нем котировку символа. При запуске экспертов в других терминалах, эти эксперты открывают созданный файл и аналогично начинают обновлять свои...
 
Ist es möglich, eine analoge wie Schalter auf Mutexe zu schreiben?