我希望它运行第一行打印1然后等待1秒以运行第二个命令打印2等.
伪代码:
print 1
wait(1 seconds)
print 2
wait(0.45 seconds)
print 3
wait(3 seconds)
print 4
Run Code Online (Sandbox Code Playgroud) 我正在异步操作(一系列网络IO)上实现超时,我不确定哪个'更好'(从分配/性能)角度来看:创建EventWaitHandle并使用RegisterWaitForSingleObject,或者只是创建一个Timer并使用其Tick.
在我的特定情况下,EventWaitHandle是惰性创建的,但显然它必须被实例化以使用WaitForSingleObject.所以这真是一个关于WaitHandle + WaitForSingleObject与Timer的资源成本的问题.这两种方法都很容易实现.
我已经在不同的时间实现了这两个,所以我了解地形,我只是不确定哪种方法"更好".
我想等待15秒,然后控制应该从下一个语句恢复.
等待时我没有别的事可做(只是等待).
我知道有Thread.Sleep(15000).我不知道的是等待的最佳方法?这有什么限制?
代码如下:
Method()
{
statement 1;
statement 2;
//WaitFor 15 secs here;
statement 3;
}
Run Code Online (Sandbox Code Playgroud) string connectionstring = "server =SQLVS2\\SQLVS2;database=DDM;Persist Security Info=True;uid=ddmuser;password=User02+Ddm;";
SqlConnection myConnection = new SqlConnection(connectionstring);
SqlCommand myCommand = new SqlCommand("GetNullHash", myConnection);
myCommand.CommandType = CommandType.StoredProcedure;
myConnection.Open();
SqlDataReader rdr = myCommand.ExecuteReader();
while (rdr.Read())
{
string filename = @"\\" + rdr.GetString(3);
filename = System.IO.Path.Combine(filename, rdr.GetString(2));
filename = System.IO.Path.Combine(filename, rdr.GetString(1));
computeHashh1 abc = new computeHashh1();
Console.WriteLine(abc.computeHash(filename));
inserthash insert = new inserthash();
insert.InsertHash(rdr.GetString(1), abc.computeHash(filename), rdr.GetStr(2),rdr.GetString(3));
}
Run Code Online (Sandbox Code Playgroud)
我怎么能让这个循环在5秒钟内运行一次或直到停止.
private static void Main(string[] args)
{
for (;;)
{
TemporaryCityTool.TemporaryCityTool.AddCity();
Console.WriteLine("waiting...");
Thread.Sleep(3600);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么Thread.sleep不工作.我一直在等待消息.我希望该应用程序等待10分钟然后再继续.
如果我在数据库中有很多要发送的消息,并且每行指定了发送消息的日期和时间,以及是否已发送消息的标志.
这些并不总是固定的间隔,并且可能希望同时发送多条消息.
在这种情况下,它会将它们排队并按创建时间顺序发送.
最简单的事情就是让一个函数一遍又一遍地运行,一旦完成就再次运行
所以它会:
我的问题是,持续运行方法只是非常低效,可能持续数小时或数天而不实际发送消息.
我认为在这种情况下的主要应变将放在数据库上,它将不断受到查询的影响.
是否有更好的方法来安排这样的事情发生.
或者只是执行上述操作,但每次运行时都会等待5分钟再重新运行.
Workflow 4是否提供适合调度的任何东西?
我正在考虑是否在我的ASP.NET Web应用程序中使用System.Threading.Timer或Thread.Sleep.我寻找他们的不同之处.期间或睡眠时间为100毫秒.AFAIK如果我使用Timer它不会阻止正在运行的线程,但Sleep将阻止正在运行的线程.
由于间隔非常小,选择Thread.Sleep(150)会更好吗?
编辑:我倾向于像非线程池线程上的计时器一样使用它.我知道Timers将在线程池上运行,但我不想为这样的操作保留线程池线程
我想在继续执行后面的代码之前显示一条消息几秒钟.我怎么能在C#中做到这一点?
page load ()....
{
label1.text="Thank you for your input";
Delay by 3 seconds??? before entering codeX
codeX....
code....
}
Run Code Online (Sandbox Code Playgroud)
它是否像使用一样简单wait(3000)?
澄清我的问题:我在sharepoint中创建一个调查Web部件,并希望在呈现调查结果之前显示消息"感谢您的投票"3秒.我假设我可以在AJAX更新面板中使用计时器,这样它不会影响页面的其余部分?我希望这能澄清我的问题.请让我知道,这是我实现这一目标的最佳方式.谢谢