Operating system 有没有办法设计一个Windows应用程序,使其';s始终响应(使用输入等)

Operating system 有没有办法设计一个Windows应用程序,使其';s始终响应(使用输入等),operating-system,freeze,Operating System,Freeze,我相信每一个中间计算机用户,如果不是每一个计算机用户都经历过他的操作系统被冻结,因为某些程序占用了所有的处理能力或所有的内存 然而,在几乎所有这些情况下,鼠标指针都是有响应的。你就是不能点击任何东西 所以我想知道,有没有一种方法可以使用一些低级别的输入钩子,无论发生什么情况,它们都会在输入时立即启动。此外,应用程序需要在单独的线程/环境中运行,以便它始终优先于可能冻结操作系统的其他任务 标题中的Windows是因为我并不真正使用Linux,所以我不知道这样的事情是否到处都会发生 现在,我假设答案

我相信每一个中间计算机用户,如果不是每一个计算机用户都经历过他的操作系统被冻结,因为某些程序占用了所有的处理能力或所有的内存

然而,在几乎所有这些情况下,鼠标指针都是有响应的。你就是不能点击任何东西

所以我想知道,有没有一种方法可以使用一些低级别的输入钩子,无论发生什么情况,它们都会在输入时立即启动。此外,应用程序需要在单独的线程/环境中运行,以便它始终优先于可能冻结操作系统的其他任务

标题中的Windows是因为我并不真正使用Linux,所以我不知道这样的事情是否到处都会发生

现在,我假设答案是否定的,看看像task manager这样的程序如何成为这种功能的首选,MS应该是最适合在自己的操作系统中实现它的人。因此,如果答案确实是否定的,那么问题就变成了,为什么


是否有一些根本原因导致这无法实现?一个单独的高优先级应用程序层,只有用户批准的应用程序才能使用。

有两种问题,一种是必须区分它们:

  • 一个应用程序没有响应,而系统的其余部分有响应。这是由于阻碍GUI线程的糟糕设计造成的

  • 整个系统没有反应。这通常是由于内存压力和物理RAM不足造成的。当可执行页面被从交换区移入时,CPU只能执行内核,后者基本上是无页面的。鼠标指针通常完全在内核空间中管理

  • 这两个问题都有众所周知的解决方案。第一种是像2014年那样编写软件,而不是1995年(使用libdispatch样式的异步线程等)。第二个问题涉及获得与需求相称的硬件

    因此,是的,设计这样的应用程序是可能的,只要它运行在具有足够资源(处理核心、RAM等)的硬件上,以有效地支持其操作。当然,没有任何保证,因为它毕竟是在用户空间中运行的,所以它对用户输入的延迟可能会被错误的驱动程序等所缩短


    如果你想得到保证,可以在实时操作系统上运行,但有时你可以得到你想要的:一个行为不正常的应用程序,在一个高效内核的帮助下,可以很快耗尽系统资源并触发看门狗重新启动。

    有两种问题,必须加以区分:

  • 一个应用程序没有响应,而系统的其余部分有响应。这是由于阻碍GUI线程的糟糕设计造成的

  • 整个系统没有反应。这通常是由于内存压力和物理RAM不足造成的。当可执行页面被从交换区移入时,CPU只能执行内核,后者基本上是无页面的。鼠标指针通常完全在内核空间中管理

  • 这两个问题都有众所周知的解决方案。第一种是像2014年那样编写软件,而不是1995年(使用libdispatch样式的异步线程等)。第二个问题涉及获得与需求相称的硬件

    因此,是的,设计这样的应用程序是可能的,只要它运行在具有足够资源(处理核心、RAM等)的硬件上,以有效地支持其操作。当然,没有任何保证,因为它毕竟是在用户空间中运行的,所以它对用户输入的延迟可能会被错误的驱动程序等所缩短


    如果你想得到保证,可以在实时操作系统上运行,但有时你可以得到你想要的:一个行为不正常的应用程序,在一个高效内核的帮助下,可以很快耗尽系统资源并触发看门狗重新启动。

    有两种问题,必须加以区分:

  • 一个应用程序没有响应,而系统的其余部分有响应。这是由于阻碍GUI线程的糟糕设计造成的

  • 整个系统没有反应。这通常是由于内存压力和物理RAM不足造成的。当可执行页面被从交换区移入时,CPU只能执行内核,后者基本上是无页面的。鼠标指针通常完全在内核空间中管理

  • 这两个问题都有众所周知的解决方案。第一种是像2014年那样编写软件,而不是1995年(使用libdispatch样式的异步线程等)。第二个问题涉及获得与需求相称的硬件

    因此,是的,设计这样的应用程序是可能的,只要它运行在具有足够资源(处理核心、RAM等)的硬件上,以有效地支持其操作。当然,没有任何保证,因为它毕竟是在用户空间中运行的,所以它对用户输入的延迟可能会被错误的驱动程序等所缩短


    如果你想得到保证,可以在实时操作系统上运行,但有时你可以得到你想要的:一个行为不正常的应用程序,在一个高效内核的帮助下,可以很快耗尽系统资源并触发看门狗重新启动。

    有两种问题,必须加以区分:

  • 一个应用程序没有响应,而系统的其余部分有响应。这是由于阻碍GUI线程的糟糕设计造成的

  • 整个系统没有反应。这通常是由于内存压力和物理RAM不足造成的。当可执行页面从交换区被洗牌进入时,CPU除了执行