如何判断一个程序是不是超时??
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断一个程序是不是超时??相关的知识,希望对你有一定的参考价值。
象我要写一个代码 代码执行的时间限制不能超过1秒,那我应该符合来判断我写的代码有没超时呢?象代码执行时间限时1秒我写这样一个代码:#include<stdio.h>int main() int i,j; __int64 a;for(i=0;i<1000000) for(j=0;j<1000000;j++) printf("***");printf("\n");return 0; 那这代码执行完要多少时间呢,是否会超过1秒呢?(我只举个列子,在没写出代码时, 在我想怎么写代码时,如果我打算这么写,我应该如何来判断我如果这样写代码,代码会不会超时呢???)
参考技术A 有一个函数,叫GetTickCount,获取程序运行的时间 如果你想连续输出"***"一秒中,就可以这么写: #include <windows.h>#include <stdio.h> int main()unsigned int uiStartTime=GetTickCount();//获取当前程序运行毫秒数while(GetTickCount() - uiStartTime < 1000)//判断此时程序运行毫秒数,减开始时的毫秒数,1秒内的话就输出 printf("***"); printf("\n");//1秒过后return 0;如何在C#中检查我的互联网是不是超时[重复]
【中文标题】如何在C#中检查我的互联网是不是超时[重复]【英文标题】:How to check if my internet has timed out or not in C# [duplicate]如何在C#中检查我的互联网是否超时[重复] 【发布时间】:2019-12-23 01:28:16 【问题描述】:我已经在 Visual Studio 的 Windows 窗体应用程序中编写了一个应用程序,并且我已经在我的窗体中设置了一个计时器,它将每隔 1 秒(1000 毫秒)检查用户是否可以访问互联网,如果他/她没有访问权限,会弹出一个表单并显示用户无权访问互联网。这曾经工作得很好,直到我发现即使互联网显示超时也会弹出表单,尽管我想检查用户是否完全失去了对互联网的访问权限。我决定研究另一种算法,我希望计时器检查互联网是否连续出现 5 次超时,如果是,则会弹出一个向用户显示他们无权访问互联网的表单。关于上述计划的任何具体想法? 这是我的代码,它显示用户是否可以访问互联网。 * LIC 是显示用户无权访问互联网的表格* 类中的方法
public static bool Check_Internet_For_Acceptation()
if (Connections.InternetConnection("google.com") == false)
return false;
else
return true;
你可以看到我在 timer_Tick 中输入的代码
private void TimerCheckInternetConnection_Tick(object sender, EventArgs e)
#region Check whether the users have internet connection or not
if (Components.Check_Internet_For_Acceptation() == false)
if (LIC.Visible)
LIC.Show();
return;
else
LIC.ShowDialog();
TimerCheckInternetConnection.Enabled = false;
#endregion
【问题讨论】:
这能回答你的问题吗? What is the best way to check for Internet connectivity using .NET? @Mikael 我相信它最终比我的要好。感谢您的宝贵帮助 @AliShahbazi 检查的逻辑更好,我实际上使用相同的逻辑但它不会解决检查5次。您可以在我提供的代码中使用此逻辑。重试 5 次。 @AshkanMobayenKhiabani 谢谢一百万。我可能会使用您建议的代码。 @AliShahbazi 不客气。 【参考方案1】:可以返回更多状态,而不是返回真假:
public enum Status
Unknown,
Connected,
NoConnection
public static int retries = 0;
public static Status Check_Internet_For_Acceptation()
if (Connections.InternetConnection("google.com") == false)
if(retries >=5)
return Status.NoConnection;
else
retries++; return Status.Unknown;
else
return status.Connected;
在你的计时器中:
private void TimerCheckInternetConnection_Tick(object sender, EventArgs e)
#region Check whether the users have internet connection or not
if (Components.Check_Internet_For_Acceptation() == Status.NoConnection)
// your logic for no connection
else if(Components.Check_Internet_For_Acceptation() == Status.Connected)
//your logic for connected
//else status is unknown and nothing will happen till it is connected or no connection
TimerCheckInternetConnection.Enabled = false;
#endregion
【讨论】:
以上是关于如何判断一个程序是不是超时??的主要内容,如果未能解决你的问题,请参考以下文章
如何使用selenium webdriver来判断一个网页加载完毕