Требуется ли в этом случае петля сообщений STA?

У меня есть некоторые COM-объекты, которые я создаю и запускаю в потоках в приложении .NET. Темы помечены как однопоточные квартиры, и все, кажется, работает. Насколько я понимаю, если эти потоки попытаются получить доступ к COM-объектам из основного потока, эти объекты будут автоматически маршалироваться и сериализироваться для меня в .NET, поэтому даже в этом случае все будет обрабатываться для меня, все безопасно и аккуратно, хотя, возможно, немного медленно

Мой вопрос в том, что пока все работает нормально, яnot прокачка цикла сообщений в потоках STA, которые я создаю. Я бы предпочел избегать цикла сообщений, если смогу, из-за дополнительных сложностей, которые это может вызвать (а также из-за возможных потерь эффективности).

Я прочитал кучу советов о том, зачем нужен цикл сообщений (в основном из очень полезного Ханса Пассанта), и я понимаю, что цикл сообщений дает место в потоке A, где какой-то другой поток B может запросить COM-объекты. живущих на нити А можно маршалировать и играть с ними. Если это правильно, то, пока никакие другие потоки не запрашивают что-либо из COM-объектов в потоке A, безопасен ли поток A, не перекачивая цикл сообщений? Или есть другие случаи, когда цикл сообщений мог бы также войти в игру?

Я здесь играю с огнем? И был ли когда-нибудь случай, когда вы спрашивали, играете ли вы с огнем, а вы - нет?

Ответы на вопрос(2)

Ваш ответ на вопрос