Почему поток STA «пропускает небольшие объемы памяти», если не удается отправить сообщения Windows? - PullRequest
0 голосов
/ 19 октября 2010

После внимательного прочтения этой статьи в КБ я заметил там интересное утверждение.В статье говорится, что если у меня есть поток STA, и этот поток не отправляет сообщения Windows, тогда этот поток

  • не сможет получать события COM от COM-сервера
  • может вызватьвещатели сообщений зависают (и, следовательно, иногда вызывают тупик)
  • удивительно ... приведет к утечке небольших объемов памяти

Хотя первые два утверждения довольно разумны - сообщения Windows используются для отправки COM-вызовов к объектам в однопоточных квартирах - третий вообще не получается.

Почему именнопоток " утечка небольшого количества памяти ", если он не отправляет сообщения Windows?

Ответы [ 2 ]

3 голосов
/ 19 октября 2010

Я бы предположил, потому что структура выделена и размещена с сообщением.Если сообщение не обработано, структура, содержащая параметры сообщения, не будет освобождена.

1 голос
/ 19 октября 2010

Сообщения, которые вы не можете отправить - их нужно поставить в очередь где-то , ожидая того рокового момента, когда вы, наконец, начнете их отправлять. Эта очередь будет использовать немного памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...