下面的問題是關於統一遊戲引擎的,但它可能與任何試圖將數據發送到主線程(如UI線程)的程序有關。線程通信
我正在一個單獨的線程上處理一些數據(位置數據從套接字asyncrously讀取)。但是,我需要在主線程上處理這些數據(遊戲對象的變換隻能從主線程訪問)。我想到的方法是創建一個線程安全隊列並遵循生產者 - 消費者模式。線程會對位置數據進行排隊,主線程會將數據取出並對其執行操作。 *注意:在Unity中,我無法訪問System.Windows.Threading名稱空間,因此我無法使用Dispatcher。此外,它需要.Net 3.5,所以我不能使用Collections.Concurrent名稱空間。
有沒有更好的方法?
如果沒有,數據排隊時通知主線程的最佳方式是什麼?這似乎沒有效率輪詢,但我想不出任何方式。
在此先感謝。
Unity標籤用於Microsoft Unity。請不要濫用它。 –