草庐IT

time_sleep_until

全部标签

c# - 为什么不无缘无故地使用 thread.sleep,并向程序员解释

在我们的项目中传递代码时,我遇到了一个web方法,它的末尾有这段代码:thread.sleep(6000);returntrue;现在,这样做是为了延迟来自客户端的jQueryajax调用,并且ajax动画将显示更长的时间。在我看来这是非常错误的。UI和服务器端之间不应该有这种连接。如果他希望动画时间更长,他可以在客户端使用setTimeOut函数。这是我的问题:我如何向程序员解释为什么这是错误的?不仅仅是因为客户端/服务器的事情,还因为为什么要在网站上调用thread.sleep? 最佳答案 延迟时:您正在使用/阻塞线程你正在消耗

c# - 为什么 Thread.Sleep() 占用大量 CPU?

我有一个带有伪代码的ASP.NET页面:while(read){Response.OutputStream.Write(buffer,0,buffer.Length);Response.Flush();}任何请求此页面的客户端都将开始下载二进制文件。此时一切正常,但客户端没有下载速度限制,因此将上面的代码更改为:while(read){Response.OutputStream.Write(buffer,0,buffer.Length);Response.Flush();Thread.Sleep(500);}速度问题现在已经解决了,但是在100个并发客户端接连连接(每个新连接之间延迟3

c# - System.Net.Mail.SmtpException : The operation has timed out. 错误在asp.net发送邮件代码使用godaddy托管

我正在使用以下代码和平使用godaddy托管发送邮件。但它抛出System.Net.Mail.SmtpException:Theoperationhastimedout.protectedvoidsendmail(){varfromAddress="frommailid@site.com";//anyaddresswheretheemailwillbesendingvartoAddress="to@gmail.com";//PasswordofyourgmailaddressconststringfromPassword="mypassword";//Passingthevaluesa

C# : Blocking a function call until condition met

我正在开发一个C#Winforms应用程序,应用程序的一部分将使用AsyncUpload将文件上传到网络服务器(使用它,由于需要使用porgress回调),在C#程序中我有一个调用上传函数的简单for循环for(inti=0;i有趣的是有一些魔力:Uploadfun(){//Logiccomeshere//webClient.UploadFileAsyncrunsa2ndthreadtoperformupload..webClient.UploadFileAsync(uri,"PUT",fileNameOnHD);}异步上传完成时调用的回调Upload_Completed_callba

c# - 并发集合在没有 Thread.Sleep 的情况下吃太多 cpu

BlockingCollection或ConcurrentQueue的正确用法是什么,这样您就可以自由地使项目出队,而不会使用线程消耗一半或更多的CPU?我正在使用2个线程运行一些测试,除非我有至少50~100毫秒的Thread.Sleep,否则它总是会占用至少50%的CPU。这是一个虚构的例子:privatevoid_DequeueItem(){objecto=null;while(socket.Connected){while(!listOfQueueItems.IsEmpty){if(listOfQueueItems.TryDequeue(outo)){//usethedata}

c# - Thread.Sleep(timeout) 和 ManualResetEvent.Wait(timeout) 有什么区别?

Thread.Sleep(timeout)和resetEvent.Wait(timeout)都会导致执行暂停至少timeout毫秒,那么它们之间有区别吗?我知道Thread.Sleep导致线程放弃其时间片的剩余部分,因此可能导致sleep持续时间比请求的时间长得多。ManualResetEvent对象的Wait(timeout)方法是否有同样的问题?编辑:我知道ManualResetEvent的要点是从另一个线程发出信号-现在我只关心事件的Wait方法指定超时的情况,并且没有其他来电者设置事件。我想知道按时唤醒是否比Thread.Sleep更可靠 最佳答案

c# - IdentityServer4/Newtonsoft.Json 中的探查器 BLOCKED_TIME

我遇到的问题是我的IdentityServer的/connect/introspect端点有时真的很慢(一次调用需要10秒)。正如您在下面看到的,大多数调用(18k)执行得很快(我启用了新的ApplicationInsightsprofiling大多数缓慢的轨迹看起来像这样:正如在ApplicationInsightsprofilerpage上所说:BLOCKED_TIMEindicatesthecodeiswaitingforanotherresourcetobeavailable,suchaswaitingforasynchronizationobject,waitingforat

c# - 有没有办法唤醒 sleep 线程?

有没有办法在C#中唤醒休眠线程?那么,让它休眠很长时间,然后在您需要处理工作时唤醒它? 最佳答案 安AutoResetEvent对象(或另一个WaitHandle实现)可用于休眠,直到收到来自另一个线程的信号://launchacalculationthreadvarwaitHandle=newAutoResetEvent(false);intresult;varcalculationThread=newThread(delegate{//thiscodewillrunonthecalculationthreadresult=Fac

c# - UInt64 和 "The operation overflows at compile time in checked mode"- CS0220

这感觉像是一个愚蠢的问题,但我似乎看不到答案。我有一个UInt64,它的最大值应该是UInt64.MaxValue18446744073709551615但是,当我尝试分配一个中等大小的数字时,出现“在检查模式下编译时操作溢出”的溢出错误。如果我将它包装在一个“未经检查”的block中,那么它会编译并运行,就像这个变量为零一样:UInt64value1=1073741824*8;//CompileerrorCS0220UInt64value2=8589934592;//Actualvalue-noerror为什么会这样? 最佳答案

c# - 在 Xamarin.Forms 中使用 Thread.Sleep

我要执行以下操作MainPage=newContentPage{Content=newStackLayout{Children={newButton{Text="Thread.Sleep",Command=newCommand(()=>{Thread.Sleep(1000);MainPage.Animate("",x=>MainPage.BackgroundColor=Color.FromRgb(x,x,x));}),},newButton{Text="Task.Run+Thread.Sleep",Command=newCommand(async()=>{awaitTask.Run((