我有兩個線程(我在GNU/Linux上使用pthreads
)。現在他們使用全局變量共享信息(我知道,這不是很好)。在每個循環結束時,他們必須將5個變量(doubles
)的值發送到另一個線程。 我想在其通信信道引入一個固定的時間延遲,延遲兩個線程之間的通信
即
線程1(1kHz時)< ---> 10ms的< --->線程2(1kHz時)
我在想,在每個週期中,我都可以創建一個讀取值的線程,睡眠10ms,然後將其轉發到另一個線程,然後死亡。 這將使系統在每個週期創建2個線程,每個通信通道的每個方向一個線程(每毫秒2個線程)。
是否有任何其他智能方式來模擬通信延遲?
更新:我不想同步線程的通信,但它們之間添加一個延遲。 如果thread1在1s時間寫入內容,另一個線程只能在1s + 10ms時間內讀取它。
爲什麼你需要創建新線程每一次? – HonkyTonk
您是否想將此延遲作爲同步的手段?如果是的話,這是一個可怕的想法。如果沒有,那麼爲什麼延遲? –
@DavidHeffernan:我**需要**添加一個延遲才能重現網絡中的通信延遲。 – Claudio