【发布时间】:2023-03-31 01:44:01
【问题描述】:
我有一个这样的程序:
Class a
{
main()
{
while(abc)
{
f(a);
g(b);
}
}
}
但我需要检查标准输入是否有一些重要的命令。如果我收到来自标准输入的命令,该程序应该可以工作。在命令之后,我应该决定继续执行或做其他事情。 我该怎么办?
【问题讨论】:
-
听起来你在说程序已经在运行(而不是启动),你需要在它运行时接受用户的命令。这是正确的吗?如果是这样:您的程序是否暂停以接受来自控制台的输入以允许用户输入命令,或者您的程序是否作为 Windows 服务运行,是否运行多个线程,或者是不同的场景?
-
是的,它正在运行。但是打开两个线程会破坏我的程序我需要中断之类的东西。我需要我的 CPU 时间,所以像两个线程这样的东西会破坏我正在运行的程序
-
销毁你的程序是什么意思?有时,当你需要你的代码做一些它目前不能做的事情时,你可能不得不改变你以前写的很多代码!
-
低优先级线程不会“破坏你正在运行的程序”,并且足够快,可以让人类用户与之交互。线程不会破坏您的程序,并且如果计算机上正在运行任何其他进程(并且有),它们也在使用您的 CPU。不过有趣的场景。
-
我知道。在我的程序中使用最大 cpu 时间非常重要。所以我需要一个类似中断的东西。
标签: c# concurrency stdin