Модель потоков Windows CE 6.0 для BeginRead / EndRead? - PullRequest
0 голосов
/ 14 марта 2012

Просто ищите подтверждение или документацию относительно того, как потоки используются для асинхронных шаблонов на сокетах под Windows CE, особенно для сокета BeginRead. Я просмотрел документацию MSDN, но могу найти только расплывчатые ссылки. Я искал здесь и нашел ответы на модель рабочего стола. Как примечание, программа реализована в Compact Framework.

Мое понимание таково: На рабочем столе, вызывающем BeginXXX, обратный вызов может вызываться или не вызываться потоком, отличным от потока, вызывающего BeginXXX. (Взято из ThreadPool из того, что я читал и экспериментировал)

В Windows CE при вызове BeginXXX обратный вызов обрабатывается потоком, который сделал вызов BeginXXX.

Это точно? Если да, где я могу найти документацию по нему? STW не помог, как и RTM.

1 Ответ

0 голосов
/ 15 декабря 2013

Я должен был сделать нарезку вручную.Модель многопоточности в Windows CE 6 немного отличается от настольных платформ.Асинхронный код работал хорошо, когда я разрабатывал его на настольном компьютере, но не работал вообще на CE.Я закончил тем, что переливался при отправке и получении потоков, которые располагались поверх сокетов.Я все еще не уверен в причине, я собираюсь предположить, что поставщики, которые написали код платформы для драйверов аппаратного обеспечения, приняли некоторые решения, которые не совсем соответствовали тому, что ожидает компактная структура.Во всяком случае, теперь это работает, и блокирующие потоки мои, и могут блокировать, не останавливая основной поток.

...