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

-1
pewpew_beepboop 30 Окт 2019 в 18:42
Вы пробовали читать источник? По крайней мере, часть его доступна. Кроме того, прочитайте Как задать вопрос, в частности, подумайте о том, какой ответ на ваши вопросы должен быть принят. Кроме того, если вы хотите уточнить, что кто-то имел в виду, спросите их. В крайнем случае, если кого-то цитируете, дайте соответствующую ссылку!
 – 
Ulrich Eckhardt
31 Окт 2019 в 12:22

1 ответ

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

0
Valter Minute 31 Окт 2019 в 09:28