Как потоки и процессы реализованы в Windows CE? - PullRequest
0 голосов
/ 30 октября 2019

Я читал, что потоки являются основной единицей выполнения в Windows CE. Что это значит точно? Как реализованы потоки и как реализованы процессы?

1 Ответ

0 голосов
/ 31 октября 2019

В се процесс определяет изолированное адресное пространство и живет до тех пор, пока работает его основной поток. Обычно основным потоком является точка входа main () в классической программе на C, и процесс завершается, как только вы возвращаетесь из этой функции (хорошо, есть некоторые шаги инициализации и уничтожения ... но давайте будем простыми). Когда основной поток завершает работу, освобождаются все память и ресурсы, выделенные всем потокам процесса. Потоки являются исполнительными единицами. Вы должны иметь хотя бы основной поток, но вы можете создавать дополнительные. Они завершаются, когда основной поток завершается. Единственная разница между основным потоком и всеми другими потоками состоит в том, что main определяет «время жизни» вашего процесса. Планировщик заботится о потоках. Когда квант времени потока завершается или требуется запуск потока с высоким приоритетом, он планирует новый поток и, если он принадлежит процессу, отличному от того, который выполняется, он повторно конфигурирует адресное пространство виртуальной памяти для соответствия. Если у процесса есть один поток, а у другого - 99, и все они имеют одинаковый приоритет, и все они поддерживают центральный процессор занятым для всего квантового процесса, то он будет использовать 1% центрального процессора и обрабатывать 2 99%. Конечно, CE является жесткой ОС реального времени и имеет управление приоритетами, но это опять-таки относится к потокам, а не к процессам.

...