最近我碰到了,其中有一個需要多線程應用程序,其主題以不同的速率運行的要求。 的問題則成了,因爲我仍然在學習多線程: 情景是考慮到把東西放到透視:多速率線程
說第一個線程在100赫茲的「實時」 第二個運行運行在10赫茲
和說第1個線程向第2個線程提供數據「myData」。
- 如何將myData提供給第二個線程,這是通常的做法,只是讀取第一個線程中可用的任何內容,或者需要進行某種抽取以降低速率。
- myData是否需要某種帶鎖定機制的Singleton。儘管myData不是共享的,而是由第一個線程更新並在第二個線程中使用。
- 相反的情況如何,當一個線程中使用的數據需要以更高的速率在不同的線程中使用時。
是每次使用'myData'的同一個實例還是你正在創建它的新實例?是由任何這些線程修改的'myData'。如果'myData'不是共享的,你將如何在兩個階段使用它? –
只是一個簡短的說明,當你聲明你正在學習多線程時,除非它是實時操作系統,否則不能保證一個線程能夠或可以以100Hz運行,每10ms ... – ipavlu
你寫了「say 1st thread runs在100赫茲「實時」第二次運行在10赫茲「我真的甚至不明白這應該是什麼意思。是的,我可以猜到,但這對解決問題來說是不好的方法。你能解釋一下嗎? –