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