【问题标题】:How are threads and processes implemented in Windows CE?Windows CE 中的线程和进程是如何实现的?
【发布时间】:2019-10-30 15:42:26
【问题描述】:

我读到线程是 Windows CE 上的主要执行单元。这到底是什么意思?线程是如何实现的,进程是如何实现的?

【问题讨论】:

  • 您是否尝试阅读源代码?至少有一部分是可用的。另外,请阅读How to Ask,尤其要考虑您的问题的答案应该提供什么才能被接受。此外,如果您想澄清某人的意思,请询问他们。至少,如果你引用某人的话,请给出相应的参考!

标签: multithreading multiprocessing windows-ce


【解决方案1】:

在 ce 中,一个进程定义了一个隔离的地址空间,并且只要它的主线程正在运行,它就会一直存在。通常,主线程是经典 C 程序中的 main() 入口点,一旦您从该函数返回,进程就会终止(好的,有一些初始化和销毁​​步骤......但让我们保持简单)。当主线程终止时,该进程的所有线程分配的所有内存和资源都被释放。 线程是执行单元。您至少需要拥有主线程,但您可以创建其他主线程。这些在主线程终止时终止。 主线程和所有其他线程之间的唯一区别是 main 决定了进程的“生命周期”。 调度器关心线程。当线程时间片终止或高优先级线程需要运行时,它会调度新线程,如果它属于与正在运行的进程不同的进程,它会重新配置虚拟内存地址空间以匹配。 如果一个进程有一个线程,另一个有 99 个线程,并且它们都具有相同的优先级,并且它们都使 CPU 忙于整个量子进程,那么一个进程将使用 1% 的 CPU,而进程 2 将使用 99%。 当然,作为硬实时操作系统,CE 也有优先级管理,但这同样适用于线程而不是进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    相关资源
    最近更新 更多