暂停,输入命令并恢复控制台应用程序

Posted

技术标签:

【中文标题】暂停,输入命令并恢复控制台应用程序【英文标题】:Pause, enter a command and resume console app 【发布时间】:2021-03-11 23:24:27 【问题描述】:

我有一个 C# 控制台应用程序,它可以做一些工作并保持每 4 秒打印一次市场数据。

有没有办法可以在刷新率范围内输入命令来更改某些参数并使应用继续跟随新的输入?

【问题讨论】:

Console.ReadLine 【参考方案1】:

是的,你可以。让我们定义 2 个流,一个用于主运行,第二个用于等待新的读取行。使用一个全局变量通过2个流之间的处理来改变,即:

Running(): 从 HyperParam 打印一行然后休眠 4 秒

Task.Run(() => ...):启动无限循环以读取新的 HyperParam。每个循环将休眠 100 毫秒。这意味着用户在 4 秒内至少有 40 次机会更改该值。

  static string HyperParam = "A";

  static void Running()
  
      for (int i = 0; i < 100; i++)
      
          Console.WriteLine($"Running with: HyperParam");
          Thread.Sleep(4000);
      
  


  static void Main(string[] args)
  
      Task.Run(() =>
      
          while (true)
          
              HyperParam = Console.ReadLine();
              Thread.Sleep(100);
          
      );

      Running();
  

结果:

【讨论】:

以上是关于暂停,输入命令并恢复控制台应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础

在 Python 中暂停执行

linux常用命令

linux 终端操作与一些shall 命令

Linux基础快捷键及命令

linux入门学习