これで、異なるフクロウを1つのシステムにリンクさせることが可能になった。)
では、セマフォがなくてもミューテックスが機能することは理解できましたか?
では、セマフォなしでミューテックスが機能することは理解できましたか?
ニコライ:) ミューテックスはミューテックスだ。CreateMutex
カーネルがどのように関連付けるかはどうでもいい。
これで、ヒープを作ることなく、異なるフクロウを1つのシステムにリンクできる)。
すべてのExpasが1つのコードにあり、チャート上に1つのスレッドがある場合、定義上ミューテックスは必要ない。
異なるスレッドやプロセスを 同期させるために必要なのだ。
これで、異なるフクロウを1つのシステムにリンクさせることが可能になった。)
では、セマフォなしでミューテックスが機能することは理解できましたか?
セマフォの一種です。
--
アレックス、ありがとう。これでアプリケーションをバインドするのがもっと楽になったよ。
このミューテックスが必要なのかどうかがわからない。
例を挙げよう。ファイル・マッピングを使ってメモリ上にファイルを作成します。(https://www.mql5.com/ja/code/818 )
サイズは50バイト。
このファイルをメモリ上で操作するExpert Advisorを100個実行する。すべてのExpert Advisorはこのように動作する。
while(1) { // メモリ内のファイルから読み込む // メモリ内のファイルに書き込む。 }
50のExpert Advisorはメモリ上のファイルに0を1つだけ書き込み、50のExpert Advisorは1を1つだけ書き込みます。そして、書き込みと読み出しは常に一度に行われる。
Read,Write関数を使う。
もし私がこの部分を正しく理解しているならば、次のような状況が起こり得ます:
Ибо это может привести к непредсказуемым последствиям - один процесс пишет, а второй в это же время читает и принимает некое решение и тоже обновляет эти же данные. В этой ситуации недописанность данных первым процессом может нежелательным образом сказаться на результате решения второго и, как следствие, привести к их порче.
ゼロか1だけでなく、ゼロの一部と1の一部がメモリ上のファイルからダウンロードされる可能性があります。メモリ上の同じファイルをループで読み続け、その変化を待つことのデメリットはありますか?
- www.mql5.com
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
Mutex - WinAPI:
作者: o_O