CMD中的并行/多线程

时间:2010-07-03 18:35:54

标签: multithreading batch-file cmd dos parallel-processing

我需要同时运行计数器和计时器,但我不确定如何实现它。

我有一个批处理文件,用于计算goto生成的简单循环中按任意键的次数, 一旦完成(按键),它会启动计时器1分钟; 在那个时候按下的键,必须存储在另一个变量中。

我的问题是我不知道如何让循环在计时器计数时继续运行,因为我尝试了两个选项而没有成功:

  • 在按键触发定时器后,调用(在同一个CMD窗口内,对我来说最好)定时器,但它等到定时器结束。
  • 在一个新窗口中启动计时器(如果没有机会并行运行的话,我会考虑这个问题);并且要知道定时器完成的循环,我尝试在前后切换一个全局变量,但是我无法设法让它在主窗口中保留在提示窗口中设置的最后一个值(带定时器的那个) )。
  • 希望我能解释自己,有人可以帮助我, 谢谢,丹。

    1 个答案:

    答案 0 :(得分:4)

    您可以在一个cmd会话中运行并行线程。 使用带有/ B参数的start命令,它将在当前cmd窗口中启动您的批处理。

    Start /B myBatch.bat param1 param2 ... 
    

    你可以在myBatch.bat在后台运行时继续工作(并输出到当前窗口)。

    注意^ C不会杀死它,只有^ Break。

    确保任务被杀死的最简单方法是使用exit命令结束myBatch.bat。