【问题标题】:C# console application randomly waits for inputC# 控制台应用程序随机等待输入
【发布时间】:2023-03-21 18:45:02
【问题描述】:

我制作了一个应用程序,有时它会暂停,直到我按下一个键。

我不使用任何需要任何输入或交互的代码(例如 readline 或 readkey)。

这在 Thread.Sleep 之后随机发生 20 次中的 1 次,并且在您按下任意键后它会继续正常工作。

                    if (Convert.ToInt64(timetotask[0]) > 0)
                    {
                        Thread.Sleep(Convert.ToInt32(timetotask[0]));
                    }
                    else
                    {
                        mylog.log("Task was in the past, executing it now");
                    }
                    int currentbid = placebid(task.itemid, bid, driver[Convert.ToInt32(task.account)]);

placebid 的第一行是 console.writeline("mystring") 所以我看不到任何可能导致这种行为的东西。

和调试模式有关系吗?

感谢帮助

【问题讨论】:

  • 您可以在调试器中运行您的应用程序,它似乎正在等待输入,使用命令 Debug > Break All。然后你会看到什么语句在等待用户输入。
  • 我也有类似的问题,我使用并行foreach循环来获取一些web url,有时app会等到我按下一个键,你找到原因了吗?

标签: c# console-application


【解决方案1】:

这可能很明显,但如果在控制台中按一个键使应用程序恢复,则很可能您通过按一个键通过控制台设法暂停了应用程序。

当它在睡觉时,你有没有按一个键来检查它是否已经暂停?然后最终睡眠结束,因为它符合规则,然后当你下一次按下一个键时,它会取消暂停程序......

迈克尔

【讨论】:

    猜你喜欢
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    相关资源
    最近更新 更多