Ладно, вот что я пытаюсь сделать:
Я собираюсь отправлять некоторые данные меша по сети, которые должен рендерить мой рендер (запрограммированный в XNA). Для тех, кто не знаком, типичная «игра» XNA в основном работает в непрерывном потоке ... который обновляет и рисует ваши данные. Проблема в том, что я не хочу замедлять этот поток из-за десериализации сетевых данных (это уменьшит частоту кадров). Итак, я думаю, что мне нужен поток, который прослушивает сетевое соединение, десериализует пакеты в то, что может использовать игра, а затем предупреждает поток XNA о том, что данные готовы к визуализации. Таким образом, если в сети присутствует задержка или что-то еще, мой рендеринг синхронизируется с данными сети.
Итак, я знаком с основными принципами работы с потоками, однако мне интересно, делал ли кто-то это раньше и что я могу сделать, чтобы спроектировать / реализовать это? Мне нужно держать потоки разделенными (то есть поток XNA не может начать выполнять код потока прослушивания и наоборот). Я думаю, что это, по сути, проблема производителя, однако, если бы кто-нибудь мог дать мне какой-нибудь код .NET / XNA (или псевдокод), в котором описана нужная мне синхронизация, это было бы очень полезно.
Не стесняйтесь просить разъяснений ... Я постараюсь редактировать по мере необходимости.