私は2つのスレッドを持っています(私はpthreads
GNU / Linuxで使用しています)。現在、彼らはグローバル変数を使用して情報を共有しています(私は知っています、それは良くありません)。各サイクルの終わりに、5つの変数(doubles
)の値を他のスレッドに送信する必要があります。彼らの通信チャネルに一定の時間遅延を導入したいと思います、
すなわち
thread1(1kHz)<---> 10ms <---> thread2(1kHz)
私は、各サイクルで、値を読み取り、10ミリ秒間スリープし、それを他のスレッドに転送してから終了するスレッドを作成できると考えていました。これにより、システムはサイクルごとに2つのスレッドを作成します。1つは通信チャネルの各方向に1つです(1ミリ秒あたり2つのスレッド)。
通信の遅延をシミュレートする他のインテリジェントな方法はありますか?
更新:スレッドの通信を同期させたくありませんが、スレッド間に遅延を追加します。thread1が時間1sで何かを書き込んだ場合、他のスレッドは時間1s+10msでのみそれを読み取ることができるはずです。