现在,我们可以将不同的猫头鹰连接到一个系统中,而无需制作 kuchumala :)
这么说,你明白没有 semaphores 的 mutex 也能工作了?
尊重同事谢尔盖耶夫的想法和劳动!
Urain:
所以你明白没有 semaphores 的 mutex 也能工作?
尼古拉,:) mutex 本身就是 mutex,你可以看到它是如何创建的。创建互斥
我们并不关心内核如何关联它。
现在,您可以将不同的猫头鹰连接到一个系统中,而不必弄得一团糟:))
如果所有 expas 都在一个代码中,一个线程在图表上,那么从定义上讲,您就不需要互斥。
您需要它们来同步不同的线程/进程。
Urain:
现在,我们可以将不同的猫头鹰连接到一个系统中,而无需制作 kuchumala :)
那么你明白 mutex 在没有 semaphores 的情况下也能工作了吗?
它是一种信号。
--
谢谢 Alex,有了它,绑定应用程序就更轻松了。
我不知道我是否需要这个互斥器。
举个例子。我使用文件映射在内存中创建一个文件。(https://www.mql5.com/zh/code/818 )
文件大小为 50 字节。
我运行了 100 个 Expert Advisors,它们都在内存中使用该文件。它们都是这样工作的。
while(1) { // 读取内存中的文件 // 写入内存中的文件。 }
让 50 个 "智能交易系统 "只向内存中的文件写入一个 0,50 个只写入一个 1。写入和读取总是一次性完成,即只使用一个
读、写函数。
如果我对这部分描述理解正确的话:
Ибо это может привести к непредсказуемым последствиям - один процесс пишет, а второй в это же время читает и принимает некое решение и тоже обновляет эти же данные. В этой ситуации недописанность данных первым процессом может нежелательным образом сказаться на результате решения второго и, как следствие, привести к их порче.
有可能从内存中的文件下载的不仅是 0 或 1,而是部分 0 和部分 1。在内存中循环读取同一文件并等待其变化是否有任何弊端?
File Mapping без DLL
- www.mql5.com
Мониторинг котировок (пример для маппинга) Пример использования DLL для работы с функциями File Mapping. В данном примере запущенный эксперт создает виртуальный файл в памяти и начинает обновлять в нем котировку символа. При запуске экспертов в других терминалах, эти эксперты открывают созданный файл и аналогично начинают обновлять свои...
是否有可能编写类似于互斥开关的程序?
Mutex - WinAPI:
作者: o_O