Thread.Sleep为什么没执行 [问题点数:50分]

Bbs2
本版专家分:307
结帖率 98.21%
Bbs2
本版专家分:307
Bbs2
本版专家分:307
Bbs1
本版专家分:0
多线程为什么执行
[code=csharp]using System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Text;rnusing System.Threading.Tasks;rnusing System.Net;rnusing System.Text.RegularExpressions;rnusing System.Threading;rnusing System.Collections;rnusing System.IO;rnrnnamespace Multithreadingrnrn class Programrn rn object locker = "a";rn ArrayList arr = new ArrayList();rn static void Main(string[] args)rn rn Program pro = new Program();rn pro.Down("http://www.acfun.tv");rn pro.Thread(pro.arr.Count);rn Console.ReadKey();rn rnrn public void Down(object url)rn rn Program pro = new Program();rn WebClient wc = new WebClient();rn wc.Headers.Add("User-Agent", "chrome");rn string content = Encoding.UTF8.GetString(wc.DownloadData(url.ToString()));rn pro.Match(content);rn rn public void Match(string content)rn rn int i = 0;rn Regex re = new Regex(@"(http://)(.+?)(?="")");rn MatchCollection recon = re.Matches(content);rn foreach (Match next in recon)rn rn Console.WriteLine(next.ToString());rn arr.Add(next.ToString());rn lock (locker)rn rn FileStream f = new FileStream("D:\\url.txt", FileMode.Append, FileAccess.Write);rn byte[] fwrite = Encoding.UTF8.GetBytes(next.ToString()+"\r\n");rn f.Write(fwrite, 0, fwrite.Length);rn f.Close();rn rn rn rn public void Thread(int n)rn rn Thread[] Threadname = new Thread[n];rn for (int i = 0; i < n; i++)rn rn string name = "ThreadHttp" + i.ToString();rn Threadname[i] = new Thread(Down);rn Threadname[i].Name = name;rn Threadname[i].Start(arr[i]);rn Console.WriteLine(Threadname[i].Name);rn rn rn rnrn[/code]rnrnThread(int n)这个函数好像<em>执行</em>了没用啊,里面的Console.writeLine都没有输出
为什么使用Thread.sleep
<em>为什么</em>时候Thread.sleep(),在什么样的情况下使用
插入数据库为什么执行
sql="select login_name,user_adds, user_mail, user_password, reg_ip, user_postalcode, user_name, sex, user_tel, user_grade, reg_date, login_sum from user where (user_id is null)"rnrs.open sql, conn, 1, 3rnrs.addnewrnrs("login_name")=login_namernrs("user_adds")=user_addsrnrs("user_mail")=user_mailrnrs("user_password")=md5(password)rnrs("reg_ip")=request.servervariables("remote_addr")rnrs("user_postalcode")=user_postalcodernrs("user_name")=user_namernrs("sex")=request("sex")rnrs("user_tel")=user_telrnrs("user_grade")="夛堳"rnrs("reg_date")=now()rnrs("login_sum")=1rnuser_grade=rs("user_grade")rnuser_tel=rs("user_tel")rnrs.Updaternrs.close
为什么执行的时候,没反映?
rn rn rn当page_load时,根本没有改变lb.text的值啊。。。rnforeach (DataGridItem i1 in MyList.Items)rn rn if (ds.Tables["user_mp3"].Rows[i]["mp3_switch"].ToString()=="1")rn rn if (i1.ItemType==ListItemType.Item || i1.ItemType==ListItemType.AlternatingItem)rn rn LinkButton lb=(LinkButton)i1.Cells[5].Controls[0];rn lb.Text="通过1";rn rn rn elsern rn if (i1.ItemType==ListItemType.Item || i1.ItemType==ListItemType.AlternatingItem)rn rn LinkButton lb=(LinkButton)i1.Cells[5].Controls[0];rn lb.Text="已审1";rn rn rn
为什么构造函数没执行?谢谢
public class overloadtest rnrn public static void main(String argus[])rn rn Tom Volcin;rn Volcin=new Tom();rn rn System.out.println(Volcin.speak(Volcin.s));rn System.out.println(Volcin.speak(Volcin.y)); rn rnrn rnclass Tom rnrn String s,t;rn int y=120;rn void Tom()rn rn s="你好,这是一个符串";rn t="这是后缀部";rn y=101; rn rn String speak(String s)rn rn return s+"Volcin"+t;rn rn rn int speak(int y)rn rn return (y*100);rn rnrnrnrn<em>为什么</em><em>执行</em>结果是:nullVolcinnull 和1200,也就是说<em>为什么</em>构造函数没有<em>执行</em>阿?新手上路,多关照::)
这段代码为什么执行?
通过PHP调用vbs脚本 启动迅雷下载软件. 单独运行vbs迅雷可以下载 PHP调用 没反应?rnphp代码如下:rn$val)rn $content = str_replace($val, $rs[$key], $content);rn rn file_put_contents(vbs, $content);rn $WshShell = new COM("WScript.Shell");rnrn $cmdline = "cmd /C ".vbs;rn $oExec = $WshShell -> Run($cmdline, 0, false); rnrn?>rnrnrnvbs代码如下:rnrnSet ThunderAgent = CreateObject("ThunderAgent.Agent.1") rnCall ThunderAgent.AddTask("http://www.baidu.com/img/baidu_sylogo1.gif","baidu_sylogo1.gif","","","http://www.cmccapp.com/",1,0,5) rnCall ThunderAgent.CommitTasks2(1) rnSet ThunderAgent = Nothing
Thread.Sleep(1);Thread.Sleep(10);Thread.Sleep(100);Thread.Sleep(1000);的实际效果
Thread.Sleep(1);Thread.Sleep(10);Thread.Sleep(100);Thread.Sleep(1000);的实际效果<em>为什么</em>不是暂停1ms、10ms、100ms、1000ms呢?rnprivate void button_DJQiDong_Click(object sender, EventArgs e)rn rn label0.Text = DateTime.Now.ToString() + ":" + DateTime.Now.Millisecond.ToString();rn Thread.Sleep(1);rn label1.Text = DateTime.Now.ToString() + ":" + DateTime.Now.Millisecond.ToString();rn Thread.Sleep(10);rn label10.Text = DateTime.Now.ToString() + ":" + DateTime.Now.Millisecond.ToString();rn Thread.Sleep(100);rn label100.Text = DateTime.Now.ToString() + ":" + DateTime.Now.Millisecond.ToString();rn Thread.Sleep(1000);rn label1000.Text = DateTime.Now.ToString() + ":" + DateTime.Now.Millisecond.ToString();rn rn[img=https://img-bbs.csdn.net/upload/201406/16/1402897968_291077.jpg][/img]rnrn<em>为什么</em>暂停了 15ms、16ms、109ms和1000msrn不一样,<em>为什么</em>
为什么有些Thread.sleep()没被中断?
看这段代码:rn很简单, 20000个线程, 名字是[i]thread1[/i] ~ [i]thread10000[/i]和[i]thread1-sleep[/i] ~ [i]thread10000-sleep[/i]。rn每个[i]thread[b]i[/b]-sleep[/i]会睡1秒钟,同时[i]thread[b]i[/b][/i]会中断它。rn[code=Java] public class InterruptTest rn rn public static void main(String[] args) throws Exception rn for (int i = 1; i + isInterrupted() );rn rn rn rn [/code]rnrn我以为最后一句System.err.println()不可能被<em>执行</em>到,因为上面的Thread.sleep()肯定会被中断,然后就到了return。但是stderr里却实有输出:rn[code=HTML]1304393164531 No! thread949-sleep truern1304393164562 No! thread1128-sleep false[/code]rnrn不是每次运行都发生,好像是偶尔才发生。rn可以看到,我在每次interrupt()语句后面,都向stdout输出一行。然后我在stdout里面找到了这两行输出,把它们和上面的输出放在一起看:rn[code=HTML]1304393163531 thread949-sleep truern1304393164531 No! thread949-sleep truern1304393163562 thread1128-sleep truern1304393164562 No! thread1128-sleep false[/code]rnrn可以看到,这两个interrupt()语句已经<em>执行</em>完了,而且是在stderr输出的1秒钟前。那么,<em>为什么</em>这两个sleep()没有被中断?rnrnP.S. 我在3台电脑上运行了这个程序很多次,3台都是Windows XP。上述情况只在其中两台发生,这两台都是酷睿双核 2.4GHz。在另一台电脑上没有发生,那台是赛扬 1.5GHz。它们的JDK版本都完全相同,都是1.6。
Thread.sleep() 为什么暂停时间不对?
我用Thread.sleep(2000),要暂停程序2秒钟,可是我发现暂停的时间根本没有2秒,有的时候很快就到了。我把时间设置大点,如5000毫秒,还是一样的。这是怎么回事?如精确的控制暂停的时间呢?
Thread.Sleep(0)与Thread.Sleep(1)的区别
[MSDN对其参数的描述]rnmillisecondsTimeout rn线程被阻塞的毫秒数。指定零 (0) 以指示应挂起此线程以使其他等待线程能够<em>执行</em>。指定 Infinite 以无限期阻塞线程。 rn------------------------------------------------------------------------rn于是我这样子做:rnwhile (!isQuit)rnrn if (file.isHasData)rn rn ....//进行处理rn rn elsern rn Thread.Sleep(0);rn rnrnrn我起初认为这样子做此循环便会在isHasData为false时此线程仅占用很少的CPU,因为它会主动放弃系统为其分配的时间片,但事实上运行过程中CPU使用率几乎一直保持100%。rn然后我将Thread.Sleep(0)改成Thread.Sleep(1),一切便如我所想像,CPU利用率降下来了。rnrn1)1毫秒引起的结果<em>为什么</em>差别会这么大呢?rn2)请问我这么做可以吗?
多线程编程之多个线程顺序执行-thread.sleep
1.首先介绍下sleep方法 sleep()方法导致了程序暂停<em>执行</em>指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁 2.顺序<em>执行</em>demo public class ThreadTest{ public static void main(String[] args) { ...
c# Thread.Sleep 怎么延迟几秒执行
如下:rnrn代码1rnThread.Sleep(3000);rn代码2rnrnrn我想要代码1<em>执行</em>完后 再过3秒 <em>执行</em> 代码2,但是代码1的<em>执行</em>过程也有个时间,如果用上述方法,会导致代码1、代码2都不<em>执行</em>。请问该 怎么写?
Thread.sleep(1000);
如题,请问这是在异步的情况下使用的吗,这样做的好处是什么呢?
Thread.Sleep的问题
[code=C#]rn class TimerExampleState rn rn   public int counter = 0;rn   public Timer tmr;rn rnrn class App rn rn   public static void Main()rn   rn   TimerExampleState s = new TimerExampleState();rnrn   //创建代理对象TimerCallback,该代理将被定时调用rn   TimerCallback timerDelegate = new TimerCallback(CheckStatus);rnrn //创建一个时间间隔为1s的定时器rn Timer timer = new Timer(timerDelegate, s,1000, 1000);rn s.tmr = timer;rnrn //主线程停下来等待Timer对象的终止rn while(s.tmr != null)rn Thread.Sleep(0);rn Console.WriteLine("Timer example done.");rn Console.ReadLine();rn   rnrn[/code]rnrnwhile(s.tmr != null)rn Thread.Sleep(0);rn这句是什么意思?当启用线程定时器时,主线程就停止等待Timer运行完毕吗?但是<em>为什么</em>是0毫秒,不相当于没有停止线程吗?
关于Thread.sleep()
现在的项目有这样一个需求,就是当程序在查询数据库时,如果查出符合条件的记录是空的,那么就用SLEEP让线程休眠几秒钟后再去重新查,如果这次查出的还是无符合的记录,那么就会抛出异常。现在有一个问题,如果我的sleep不是在run方法中调用,那么休眠的是当前线程,还是所有线程都无法访问这个类了。rnrnrn代码这样写有什么问题rnString sql = "xxxxxxxxxxxxxxxxxxx";rnList> result = dao.query(sql);rnif(result.size==0)rn Thread.sleep(5000)rn result = dao.query(sql);rn if(resuly.size==0)rn throw exceptionrnrn
为什么我在for后的语句没执行
我写了一个ajax用于显示指定类型菜单数据的目录,由于菜单是动态生成的,所以我通过的方式给每个加了id。rn我的处理方法是,想通过遍历td的,使所有的td的内容为"",再通过ajax得到数据,再在指定的td中显示出来,但我发现我在遍历完所有td后,我在for后的调用ajax的语句就不<em>执行</em>了。请问各位大大是怎么会事?rnrn以下是代码:rn----------------点击遍历td,并调用ajax-------------------------rnfunction show(o,id)rn var obj = o;rn var oi = ;rn var oid = id;rn for(var j = 0;j); rn rn-------------------------------------------------------------rn
这个代码为什么执行没结果?
[code=javascript]rnrnrn rn testrnrn rnrnrnrn rn rnrnrnrn[/code]
LoadControlState和LoadViewState没执行,请问是为什么
protected override void LoadControlState(object savedState)rn rn Response.Write("LoadControlState ");rn base.LoadControlState(savedState);rn rnrn protected override void OnInit(EventArgs e)rn rn Response.Write("OnInit ");rn base.OnInit(e);rn rnrn protected override void LoadViewState(object savedState)rn rn Response.Write("LoadViewState ");rn base.LoadViewState(savedState);rn rnrn查了下Web周期的资料,这两个函数是在PostBack后运行的,可我试了下,却没有<em>执行</em>到,有人知道是<em>为什么</em>吗?
为什么没调用会自己执行
[code=JScript]rnrnrnrn arguments.lengthrn rnrnrnrnrnrn[/code]rnrn[color=#FF0000]我的body没有调用,<em>为什么</em>会输出“测试”呢?[/color]
带条件(IF)的触发器为什么执行
触发器如下:rnrnCREATE TRIGGER [TR_PMS_IUD] ON [PMS]rnFOR INSERT, UPDATE, DELETE rnASrnrn SET NOCOUNT ONrnrn if (SELECT ProssID from Deleted)='01'rn beginrn update CutQlyPlanDet set CutQlyQTY=CutQlyPlanDet.CutQlyQTY-a.PassQTYrn from Deleted a rn where CutQlyPlanDet.ProduceNo=a.ProduceNo rn and CutQlyPlanDet.CutQlyPlanNo=a.PlanNorn end elsern if (SELECT ProssID from Deleted)='02'rn beginrn update PrintPlanDet set PrintQTY=PrintPlanDet.PrintQTY-a.PassQTYrn from Deleted a rn where PrintPlanDet.ProduceNo=a.ProduceNo rn and PrintPlanDet.PrintPlanNo=a.PlanNorn end rnrn if (SELECT ProssID from Inserted)='01'rn beginrn update CutQlyPlanDet set CutQlyQTY=CutQlyPlanDet.CutQlyQTY+a.PassQTYrn from inserted a rn where CutQlyPlanDet.ProduceNo=a.ProduceNo rn and CutQlyPlanDet.CutQlyPlanNo=a.PlanNorn end elsern if (SELECT ProssID from Inserted)='02'rn beginrn update PrintPlanDet set PrintQTY=PrintPlanDet.PrintQTY+a.PassQTYrn from Inserted a rn where PrintPlanDet.ProduceNo=a.ProduceNo rn and PrintPlanDet.PrintPlanNo=a.PlanNorn end elsern rn SET NOCOUNT OFFrnrn目的是希望根据Insert或Update的相关值(ProssID)去修改不同表的数据rnrnrnrnrnrnrn
51单片机这个程序为什么执行中断
#includern#define uint unsigned int rn#define uchar unsigned charrnsbit dula=P2^6;rnsbit wela=P2^7;rnuchar code table[]=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;rnuchar a=0,num=0;rnvoid main()rnrnTMOD=0x01;rnTH0=(65536-50000)/256;rnTL0=(65536-50000)%256;rnEA=1;rnET0=1;rnTR0=1;rndula=1;rnP0=table[num];rndula=0;rnrnwela=1;rnP0=0xc0;rnwela=0;rnrnrnvoid timer0() interrupt 1rnrnTH0=(65536-50000)/256;rnTL0=(65536-50000)%256;rna++;rnif(a==40)rnrna=0;rnnum++;rnif(num==9)rnnum=0;rndula=1;rnP0=table[num];rndula=0;rnrnrn
为什么datagrid控件的DataGrid1_SelectedIndexChanged 事件没执行
我完全照vs.net帮助中的例子写的代码,在界面上显示数据后,点击datagrid控件的行,来取字段值,用标签显示,不知<em>为什么</em>读不出来。rnmyComponent.FillDataSet(myDataSet1);rnint index = DataGrid1.SelectedIndex;rnstring key = DataGrid1.DataKeys[index].ToString();rndataView1.RowFilter = DataGrid1.DataKeyField + "='" + key + "'";rn
ibatis一对多关联查询,为什么子查询没执行
ibatis一对多关联查询,<em>为什么</em>子查询没<em>执行</em>rnrn详细如下:rn店铺(shop)与买家(buyer)为多对对关系,中间关系表(shop_buyer)rnrn现在查询买家,需要包含该买家所有关联的店铺,查询的结果集:resultMap:buyerResultrn rn rn rn rn rn rn rn rn rn rn rn rn 根据买家ID通过关系表查询店铺信息的子查询:rn rn select s.sid,s.short_title,s.title,s.nick from `shop` s, `shop_buyer` sb where s.sid=sb.sid rn and sb.bid = #bid#rn rnrn<em>执行</em>后buyerResult结果集中其他的数据都有,只有shops属性没有数据,当setShops时总报NullPointerException错误rnlog4j中也没有发现<em>执行</em>Buyer.selectShopByBid的sql语句,<em>为什么</em>会这样rnrn
为什么我这句代码没执行
rnrn rn new document rn rn rn rn rn rn rnrnrn就是这句代码window.open('http://www.baidu.com','_blank','width=400,height=500'); <em>为什么</em>没有<em>执行</em> 我把它放到函数的第一行也是没有<em>执行</em> 请问各位同行是<em>为什么</em>呢
vb执行存储过程为什么没记录返回???
列入:Tb_AArn code username rn 1 aaarn 2 bbbrn 3 cccrn创建存储过程rncreate proc pro_AArnasrnbeginrnset nocount onrnselect * from Tb_AArnset nocount offrnendrn ---- <em>执行</em>这个存储过程应该是返回三条记录集rnrn现在我用vb去调用rn Dim con As New ADODB.Connectionrn Dim rs2 As New ADODB.Recordsetrn Dim mycom As New ADODB.Commandrnrn StrCon = "Provider=SQLOLEDB.1;Password=" & strPassWord & ";Persist Security Info=True;User ID=" & strUserName & ";Initial Catalog="数据库名";Data Source=."rn con.CommandTimeout = 3000rn con.ConnectionString = StrConrn con.Openrn ''''''''数据库连接没问题rn Set mycom.ActiveConnection = conrn mycom.CommandText = "pro_AA"rn mycom.CommandType = adCmdStoredProcrn Set rs2 = mycom.Execute("pro_AA")rnrnrn <em>执行</em>到这里 rs2中应该有三条记录集。。。rnrn 可是我在程序中得到rs2的记录集为空???rnrn????
为什么母版页的 Page_PreInit 事件没执行呢?
[code=C#] void Page_PreInit(object sender , EventArgs e)rn rn V.Show("1111111111111MasterPage Page_PreInit");rn rnrn void Page_Init(object sender , EventArgs e)rn rn V.Show("MasterPage Page_Init");rn rnrn void Page_InitComplete(object sender , EventArgs e)rn rn V.Show("MasterPage Page_InitComplete");rn rnrn void Page_PreLoad(object sender , EventArgs e)rn rn V.Show("MasterPage Page_PreLoad");rn rnrn protected void Page_Load(object sender , EventArgs e)rn rn V.Show("MasterPage Page_Load");rn rnrn void Page_LoadComplete(object sender , EventArgs e)rn rn V.Show("MasterPage Page_LoadComplete");rn rnrn void Page_PreRender(object sender , EventArgs e)rn rn V.Show("MasterPage Page_PreRender");rn rnrn void Page_PreRenderComplete(object sender , EventArgs e)rn rn V.Show("MasterPage Page_PreRenderComplete");rn rnrn void Page_Unload(object sender , EventArgs e)rn rn V.Show("MasterPage Page_Unload");rn rnrn protected void Label1_Init(object sender , EventArgs e)rn rn V.Show("MasterPage Label1_Init");rn rn protected void Label1_Load(object sender , EventArgs e)rn rn V.Show("MasterPage Label1_Load");rn rn protected void Label1_PreRender(object sender , EventArgs e)rn rn V.Show("MasterPage Label1_PreRender");rn rnrn protected void Label1_Unload(object sender , EventArgs e)rn rn V.Show("MasterPage Label1_Unload");rn [/code]rnrnrn输出rnrn[size=16px]ContentPage Page_PreInitrnMasterPage Label1_InitrnContentPage Label1_InitrnMasterPage Page_InitrnContentPage Page_InitrnContentPage Page_InitCompleternContentPage Page_PreLoadrnContentPage Page_LoadrnMasterPage Page_LoadrnMasterPage Label1_LoadrnContentPage Label1_LoadrnContentPage Page_LoadCompleternContentPage Page_PreRenderrnMasterPage Page_PreRenderrnMasterPage Label1_PreRenderrnContentPage Label1_PreRenderrnContentPage Page_PreRenderCompleternMasterPage Label1_UnloadrnContentPage Label1_UnloadrnMasterPage Page_UnloadrnContentPage Page_Unload[/size]rnrnrn
菜鸟求助:关于函数为什么执行
初学菜鸟想问下,我的.cs代码里随便加个Response.Write这段代码就<em>执行</em>了,不加的话好像就没效果是什么原因,如果不加,那些图片就刷不出来rn[img=https://img-bbs.csdn.net/upload/201609/01/1472710780_159127.png][/img]rn前台:rn rn rn rn " target="_blank">" width="230" height="51" border="0">rn rn rn rn rn同样的页面,我加了后就可以rn[img=https://img-bbs.csdn.net/upload/201609/01/1472710822_13943.jpg][/img]rn没加就这样rn[img=https://img-bbs.csdn.net/upload/201609/01/1472710839_954733.png][/img]rnrnrn另外初学ASP.NET ,很多概念可能不懂,麻烦能讲详细点,现在直接找项目上手边改边学,目前在学MVC,有很多问题不懂,想找个稍微有空闲的人,帮忙解答下有些基本问题
Thread.sleep方法
System.Threading.Thread.Sleep(400);rnrn 这个睡眠是整个程序都停止运行 还是什么意思??还是主线程停止运行 ps:[color=#FF0000]什么是主线程[/color]
Thread.Sleep(1)
实际过程当中它沉睡了15.6毫秒,有什么办法把它替换掉,只沉睡1毫秒呢?
Thread.Sleep的疑问
两个线程A和B 在独立运行 A线程做采集数据 ,B线程做平台运动rn请问。我在B线程运行到某种状态的时候 (B运行到某个位置 我想停一下 等稳定几秒 )然后去读A中的数据全局变量value。这里用Thread.Sleep(x000)是否合适 。或者我用for()空循环个一段时间 这两者有没有本质的不同rnrnB线程中代码rn[code=csharp]rn。。。。rn。。。//到位rnThread.Sleep(3000);rn去取valuern[/code]rnrn或者rn[code=csharp]rn。。。。rn。。。//到位rnfor(int i=0;i<100000;x++)rnrnrn去取valuern[/code]rn
主方法中 Thread.sleep ,为什么 catch不执行
public class TestThread1 rn public static void main(String[] args)rn rn tryrn Thread.sleep(10000);rn rn catch(Exception e)rn System.out.println("asdb");rn rn rn rn rn rnrnrnrn System.out.println("asdb"); 这一句<em>为什么</em>不<em>执行</em>呢, sleep 不是一定会抛异常吗rnrn
Thread.sleep() 问题
[code=Java] try rn Thread.sleep(1000);rn catch (InterruptedException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn mTextView.setText("正在检测网络1...");rn rn try rn Thread.sleep(3000);rn catch (InterruptedException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn mTextView.setText(statusTextView.getText()+"正在检测网络2...");[/code]rnrn问:<em>为什么</em>mTextView不会先显示1,再显示2,而是直接就显示2去了.rnrn按照逻辑应该是停顿1秒后就显示第一个内容,再3秒就第2个内容才对啊.rnrnrn除学java,请指点指点,谢谢。
Thread.Sleep 的精度问题
我在线程中这样写:rnint i=0;rnwhile()rnrn i++;rn Thread.Sleep(1);rnrn我们知道线程休眠的定时精度很差的,网上有说法是15ms。不论实际是多少,i 应该远远落后于实际的休眠时间。比如说当 i 为 3 时,实际休眠的时间应该已经是几十ms 了。rn但是实验结果却不是这样!线程根本就没休眠,i 瞬间暴涨!(顺便祝每个回帖的人也能在2017年MONEY暴涨)rn当然,如果我把1 加大,比如加到1000,那么休眠效果就出现了。rn难道休眠时间太短的话就索性不休眠吗?线程调度这么聪明吗?rnrn
Thread.sleep 问题
开了个线程rn private void chg_Half(object half)rn rn .................rn while (true)rn rn for (int i=0;i)]rn public static extern uint _EndPeriod(uint uMilliseconds);rn还有这种情况怎么回事
thread.sleep 相关
protected void Button1_Click(object sender, EventArgs e)rn rn this.GridView1.DataSource = dv;rn this.GridView1.DataBind();rn //Response.Write("ok");rn System.Threading.Thread.Sleep(5000);rn StringBuilder str = new StringBuilder();rn str.Append("a");rn str.Append(" b");rn Response.Write(str);rn rn rn预期结果:按钮点击后先显示GridView1数据,sleep(5000)后显示str//rn现在情况:按钮点击后5S后GridView1中数据同str一并显示//rn请路过的朋友看看如何解决//
Thread.Sleep(0)
Thread.Sleep(0)指定零 (0) 以指示应挂起此线程以使其他等待线程能够<em>执行</em>。rn对这句话不了解,我用了这个方法可是线程没有挂起,还有"使其他线程能够<em>执行</em>"rn有什么意思.
Thread.sleep 问题???
我不懂 Thread.Sleep(1000);rn再BUTTON事件里 rnbutton1.Text = "d";rnThread.Sleep(1000);rnbutton1.Text = "e";rnrn永远Thread.Sleep(1000);这句先<em>执行</em>。再D和E。。rn那Thread.Sleep(1000)还有什么意义??rn我想先<em>执行</em>rn button1.Text = "d";rnrn暂停1秒后再<em>执行</em>rn button1.Text = "e";rn怎么实现呢??
Thread.Sleep用法
rnrnSystem.Threading.Thread.Sleep(1000)rnrn通过在一个循环语句中使用这一语句,可以形成一种“动画”的效果。rnrn请编程让一个标签缓慢地从窗体底部移到上方,模拟电影电视片头中常见的字幕效果。rn
Thread.sleep(100000) 为什么不工作呢?
我在 Run 里面调用这个方法,结果好像并没有睡眠啊!<em>为什么</em>???rnrnrn急!!!!!!
为什么在用Thread.sleep()总在加trycatch()语句?
<em>为什么</em>在用Thread.sleep()总在加trycatch()语句?
??怎么没执行??
我这个操作要2个SQL语句一个 update ,一个是insertrn代码如下:rnrn $link = mysql_pconnect("localhost", "root", "3033")rn or die("Could not connect: " . mysql_error());rn mysql_select_db('itwb') or die ('can not select dtb');rn mysql_query($query);rnrn $query="update pc set opt='changed' where sid='$idlink'";rn mysql_query($query);rn//以上的这个操作没有<em>执行</em>,以下的操作<em>执行</em>了rn $query="insert into pc values('','$username','$dept','$isbrand','$brandname',rn '$hdd','$cpu','$mem','$mbname','$hasmbd','$isvcs','$vcname','$hasvcd',rn '$isncs','$ncname','$hasncd','$hascdr','$ncinter','$ipa','$ipb','$ipc','$ipd',rn '$suba','$subb','$subc','$subd','$gatewaya','$gatewayb','$gatewayc','$gatewayd',rn '$fdnsa','$fdnsb','$fdnsc','$fdnsd','$sdnsa','$sdnsb','$sdnsc','$sdnsd',rn '$mac1','$mac2','$mac3','$mac4','$mac5','$mac6',rn '$ossoft','$uvsoft','$fwsoft','$mailsoft','$othersoft','$others','0')";rnrn $res=mysql_query($query);rn mysql_close($link);rn
mysql事件没执行
1、查看event_scheduler状态情况是ON 还是OFF       show VARIABLES like 'event%'      若为OFF,则<em>执行</em>下列指令 SET GLOBAL event_scheduler = 1;   /*0不<em>执行</em>,1开始<em>执行</em>*/ 或 SET GLOBAL event_scheduler = ON; 或在配置文件中my.ini下的[mysq
为什么里面的javascript没执行呢?貌似没执行CheckPost()判断啊?
rn rn rnrn 用户: rn 标题: rn 内容: rnrnrn
with as执行没结果
with a as(rnselect 1 aid,'指标1' signname,11 data from dual union allrnselect 2, '指标2', 21 from dual),rnb as(rnselect 3 bid,'指标3' signname,31 data from dual union allrnselect 4, '指标4', 41 from dual)rnselect aa.rn,aa.aid,bb.bidrnfrom (select rownum rn,a.* from a) aa,rn(select rownum rn,b.* from b) bbrnwhere aa.rn=bb.rn;rnrn原应该得到的结果是rn RN AID BIDrn---------- ---------- ----------rn 1 1 3rn 2 2 4rnrn可是我<em>执行</em>的结果却是:rn应该不是PL/SQL版本的原因,因为我用两个版本的使用,都是这样的结果rn[img=http://hi.csdn.net/attachment/201101/2/4189895_1293936101Zze6.jpg][/img]rn
Linux定时任务没执行
楔子 写了一个自动签到获取积分的java程序,在Linux上面设置定时任务没<em>执行</em>。 详细的定人任务移步到 这里 解决 之前是直接写为java -jar jar文件绝对路径 ,发现没<em>执行</em>。后来修改为上图 才<em>执行</em>。可能是 定时任务找不到指定java命令的位置。上图指定了java命令所在的位置。 ...
执行TouchCalibrate() 没反映
我在EVC应用程序中<em>执行</em>TouchCalibrate(); 结果就是屏幕闪几下就没反映, 没有出来校准程序。请教这是<em>为什么</em>?rn我是在PC上的wce emulator上运行的。
定时器没执行
[code=python]rn#timerrndef strstr(strings):rn print stringsrn print "123456" rnrnclass RepeatableTimer(object):rn def __init__(self,interval,function,args=[],kwargs=):rn self.interval=intervalrn self.function=functionrn self.args=argsrn self.kwargs=kwargsrnrn def start(self):rn self.stop()rn import threadingrn self._timer=threading.Timer(self.interval,self._run)rn self._timer.setDaemon(True)rn #self._timer.join()rn self._timer.start()rn rn def restart(self):rn self.start()rnrn def stop(self):rn if self.__dict__.has_key("_timer"):rn self._timer.cancel()rn del self._timerrnrn def _run(self):rn try:rn self.function(*self.args,**self.kwargs)rn except:rn passrn self.restart()rnrna=RepeatableTimer(1.0,strstr,"abc")rna.start()rn[/code]rnrn这是我找到的定时器例子,但是我运行后没有反映,不知道哪里有问题
关于Thread.Sleep(0)的说明
Thread.Sleep(0) 并非是真的要线程挂起0毫秒,意义在于这次调用Thread.Sleep(0)的当前线程确实的被冻结了一下。详情请见文档。
No4.线程中断+Thread.sleep()的用法
与线程中断有关的,有三个方法,这三个方法看起来很像。 public void Thread.interrupt() //中断线程 public boolean Thread.isInterrupted() //判断是否被中断 public static boolean Thread.interrupted() //判断是否被中断,并清除当前中断状态 Thread
Thread.Sleep() 诡异现象
我是使用VS2008,C#。在一个项目中,Thread.Sleep(N)又一次在小于17ms时,根本不管用。rn这时我同时打开了2个vs。rn可是我关闭了另一个vs,迅雷后,计时再次可以小于17ms,当然也不是很准确了,但是比上次不管怎么设置不能小于17ms现象好的多。但是我再现刚才的情形(打开很多软件)情况没有重复出现。在此作为记录,不求回答,欢迎探讨。rnrn我想可能是,有些软件对cpu竞争力强。导致我的程序计时不准确。
关于Thread.sleep()的问题!谢谢
我写了一个程序,但是我想在<em>执行</em>完一句话后,让它暂停两秒然后在继续<em>执行</em>下句话。。。是继续<em>执行</em>下面代码! 我把Thread.sleep(2000); 加到了两句话之间,但是 暂停后 后面的代码就不<em>执行</em>了。。。。这个怎么弄? 我不太会。。。希望各位兄台给点指示! 另:帖子给分是什么。。<em>为什么</em>不能设置100分了
关于 repaint(),thread.sleep 的问题
我想在一个panel里面 每隔0.5秒画一个圈,然后把之前的圈擦除rnrn这是我想法,rnrnpublic void paintComponent(Graphics g)rnrn ........rn 在(x,y)画个圈;rn y++;rn <em>thread.sleep</em>(500); // exception 什么的这里省略rn repaint();rn ........rn ........rnrn问题是这样好像不行啊。。rn请问有没有什么办法解决这个问题。rn谢谢。
不断循环Thread.Sleep的问题
...rnwhile(true)rnrn if(queue.count>100)rn rn ...rn rn elsern rn doWork();rn Thread.Sleep(5000);rn rnrn...rn当queue.Count小于100时,就一直在<em>执行</em>Thread.Sleep。rn这种写法对系统或者系统资源有影响吗?会不会对当进程死锁,rn或者内存泄露或者其它?
有关Thread.Sleep凝或。
Page_Load():rnrn Response.Write(" 1: " + DT.ToString("yyyyMMddHHmmssfff"));rn Thread.Sleep(5);rnrn Response.Write(" 2: " + DT.ToString("yyyyMMddHHmmssfff"));rn Thread.Sleep(3);rnrn Response.Write(" 3: " + DT.ToString("yyyyMMddHHmmssfff"));rnrnThread.Sleep不是延时的意思吗? 参数传的是是毫秒,<em>为什么</em>这三个数据打印出来是一样的呢?rn前两个不应该是间隔5毫秒,后两个差3毫秒吗?rnrn<em>为什么</em>不是我想象的结果,如何才能得到我想要的结果?
SystemClock.sleep和Thread.sleep区别及使用场景
请位大神解释下SystemClock.sleep和Thread.sleep区别及使用场景
求助——有Thread.sleep(100)能画线,无Thread.sleep(100)就不能画线 是为什么
[code=java]import java.awt.Color;rnimport java.awt.Graphics;rnimport javax.swing.JFrame;rnrnpublic class DrawLine extends JFrame rn private Thread t;rn public DrawLine()rn setBounds(600,300,600,400);rn setVisible(true);rn setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);rn Graphics graphics = getGraphics(); rn graphics.setColor(Color.RED); rn for(int y=50;y<100;y++)rn [b] try rn Thread.sleep(100); rn catch (InterruptedException e) rn e.printStackTrace();rn [/b]rn graphics.drawLine(30, y, 100, y); rn y++;rn rn rn public static void main(String[] args) rn new DrawLine();rn rn rnrn[/code]rn[img=https://img-bbs.csdn.net/upload/201607/30/1469873662_645254.png][/img]
关于Thread.Sleep()的问题
[code=C#]rn for (int i = 0; i < 10; i++)rn rn Thread.Sleep(1000);rn this.textBox1.Text = i.ToString();rn rn rn[/code]rn<em>为什么</em>文本框的数字不会隔一秒自增一下,而是过了10秒后,直接变成9
Thread.Sleep的精确度是多少?
我可能需要在windows下做一个实时要求比较高的程序,200ms通过socket对PLC做200次读写,也就是说1ms就要完成一次读写,这听起来有些不靠谱,我很担心windows有没有这样的反应速度。于是在.net 4.5,C#中做了一个socket的实验,服务端和客户端简单的发送返回300次,结果如下:rn【前提】:客户端都是创建了一个最高优先级的线程来和服务端交互的rn1、如果每次交互过程不sleep,大概1ms能完成5、6次收发rn2、如果每次交互后Thread.Sleep(1),我惊奇的发现windows居然能够比较精确的完成1ms的刻度rn 当然300次的时间记录不是绝对稳定的,只能说基本上可以达到Sleep(1)的效果,不过有时候还是会跳1msrn 我在网上搜索过Sleep的精度,很多人都说用线程的时间片调度室15ms,windows不可能精确到1ms,不过我的实验结果却显示它可以精确到1ms,虽然不是那么稳定,而且我并没有用网友说的多媒体计算器,只是个普通的Thread.Sleeprn 其实我比较侵向于请坐PLC的工程师来做这些实时控制,但是那边也是第一次接触这个PLC,还没弄明白,即使windows可以Sleep到1ms,它的稳定性依然令我担忧,不知道各位在这方面有没有什么建议?
Thread.sleep 延时问题
[code=Java]rnrnrnrnrn rn rn rnrnrnrn rnrnrnrnrn[/code]rnrnrnrn[b]问题:[/b]rn1:<em>为什么</em>每次延时都不一样??? 我设置的是5毫秒!!rn2:<em>为什么</em>不是实时输出,在输出时 300之前<em>为什么</em>没有300之后的速度快???rnrn
Thread.Sleep(120000)是异步的?
有个Timer控件,interval 是100。代码大致如下rn[code=csharp]private void OnTimer(object sender, EventArgs e)rnrnwhile(reader.Read())//读取数据库下一行电话号码rn rn 1、调用阿里云给手机发送一条短信rn 2、if(现在是21点07分)rn Thread.Sleep(120000);rn rn[/code]rn运行这个代码后,我手机收到了3条短信。
Thread.sleep() 抛出的异常?
rntry rn sleep(1000);rn rncatch (InterruptedException e)rnrn rnrnrn有点不明白,sleep抛出的异常 ,如果任何线程中断了当前线程,rnrn如果有两个线程,sleep()一次,是不是就会换另一个线程<em>执行</em>?换另一个线程<em>执行</em>的时候,前一个线程是不是应该抛出InterruptedException 来中断前一个线程呢?就是说前一个线程已经终止了?
thread.sleep()影响控件赋值?
我想停留3秒转向首页,代码效果是直接转过去了,但是btnRegister按钮并没有显示提示“注册成功!3秒后转向首页``”,是不是我做错了呢?rn[code=C#]Session["name"] = txtUserName.Text;rn btnRegister.Text = "注册成功!3秒后转向首页```";rn System.Threading.Thread.Sleep(3000);rn Response.Redirect("default.aspx"); [/code]
代替thread.sleep()的方法
今天做了延迟推送的小任务,骑手扫码后会通知有赞更新订单状态为发货(调用有赞接口),但是现在需要延迟三分钟再推送,刚开始是这样修改的 //通知有赞发货 2018-11-3 new Thread(new Runnable() { @Override public void run() { try...
关于Thread.sleep的几个问题
Thread.sleep sleep就是正在<em>执行</em>的线程主动让出CPU,CPU去<em>执行</em>其他线程,在sleep指定的时间过后,CPU才会回到这个线程上继续往下<em>执行</em>,如果当前线程进入了同步锁,sleep方法并不会释放锁,即使当前线程使用sleep方法让出了CPU,但其他被同步锁挡住了的线程也无法得到<em>执行</em> 几个问题 Thread.sleep(1000),1000ms后是否立即<em>执行</em>? 不一定,在未...
Thread.sleep(0)的作用是什么
触发操作系统立刻重新进行一次CPU竞争
UpdatePanel與Thread.Sleep()
為什麽在UpdatePanel裏面的控件的觸發事件不能調用Thread.Sleep()?謝謝!
win2008服务器 Thread.Sleep丢失
RT:rnThread.Sleep(1000 * 60 * 60);rn线程在挂起一段时间后就丢失了 大约20分钟就丢失rnrnprotected void Application_Start(object sender, EventArgs e)rnrn Thread t = new Thread(new ThreadStart(ThreadToRun3));rn t.Start();rnrnprivate void ThreadToRun3()rn rn while (true)rn rn String strFilePath0 = @"C:\Inetpub\wwwroot\mitopac\webApp\log.txt";rn if (!File.Exists(strFilePath0))rn rn File.CreateText(strFilePath0);rn rn using (StreamWriter streamWriter = File.AppendText(strFilePath0))rn rn streamWriter.WriteLine(DateTime.Now.ToString() + ":Sleep");rn rn Thread.Sleep(1000 * 60 * 60);rn rn
★★thread.sleep与系统时间相关?★★
目前在项目中遇到一个问题,rn通过<em>thread.sleep</em>(10800)来让线程睡眠3个小时,rn比如,在10:05<em>执行</em>上面的sleep,正确的应该在13:05线程被唤醒,但是rn因为项目的需求,中间要进行系统时间的调整,所以出现了线程不到13:05就被唤醒的问题。rnrn请问一下,是否有可以直接指定YYYYMMDD HH:mm:ss的sleep方法。rn比如我就直接指定在 2010/11/23 13:05:00的时候线程被唤醒
C# Thread.Sleep 卡死的问题解决方法
转载自:https://www.cnblogs.com/digtech/p/4340166.html 很多初学者在写C#程序的时候,需要程序等待某个时间,但是又不想用比较繁琐的线程等操作,因此用Thread.Sleep()函数,但是这个函数在等待过程中会操作界面的卡死,那么,如何能保证既不卡死又能达到等待的功能呢?其实也很简单,用下面的一段代码代替Thread.Sleep()函数即可。 ...
在问关于Thread.sleep的问题!
关于我上次问的如何实现:rn” 先给name[0],name[1],name[2], 一个初值,并依次改变他们,并且每改变其中一个就在JPanel上显示一次“rn经过测试发现changed()放在show()之前的话,可以实现我要的功能。rn在此感谢 dengsf(十字路口的菜鸟) , softgq(英雄小强)等。rn代码如下(1)。但现在我有遇到一个新的问题,我想在Myframe 中加一个JButton进行控制rn代码如下(2)。结果遇到的情况还是那样:等所有的name[]改变了才显示。(要求每改变一个值显示一次rn代码(1)rnimport javax.swing.*;rnpublic class MyPanel extends JPanelrnrn int i;rn String []name="name1","name2","name3";rnMyPanel()rnrn rnpublic void paintComponment(Graphics g)rnrn super.paintComponment(g);rn g.drawString(name[0],20,20);rn g.drawString(name[1],40,40);rn g.drawString(name[2].60,60);rnrnpublic void changed()rnrn for(i=0;i);rn p1.add(b);rn b.addActionListener(new ActionListener()public void actionPerfromed(ActionEvent e)rn p.changed(););rn getContentPane().setLayout(new GridLayout(2,1));rn getContentPane().add(p);rn getContentPane().add(p1);rn setSize(300,300);rn show();rn //p.changed();rnrnpublic static void main(String args[])rnrn MyFrame m=new MyFrame();rnrnrn高手给个解释和正确实现的代码rn跪谢!rn
关于Thread.sleep休眠
程序:rnclass Testrnpublic static void main(String[] args)rnTestThread t = new TestThread();rnnew Thread(t).start();rntryThread.sleep(1000);catch(Exception e)rnt.str = new String("method");rnnew Thread(t).start();rnSystem.out.println(Thread.currentThread().getName()rn+ " is running");rnrnrnclass TestThread implements Runnablernprivate int tickets = 20;rnString str = new String("");rnpublic void run()rnif(str.equals("method"))rnwhile(true)rnsale();rnrnrnelsernsynchronized(str)rnif(tickets > 0)rntryrnThread.sleep(10);rnrncatch(Exception e)rnSystem.out.println(e.getMessage());rnrnSystem.out.println("synchronized(str) is running");rnSystem.out.println(Thread.currentThread().getName()rn+" is salling ticket " + tickets--);rnrnrnrnrnpublic synchronized void sale()rnif(tickets > 0)rntryrnThread.sleep(10);rnrncatch(Exception e)rnSystem.out.println(e.getMessage());rnrnSystem.out.println("method");rnSystem.out.println(Thread.currentThread().getName()rn+ " is salling ticket " + tickets--);rnrnrnrn输出:rnsynchronized(str) is runningrnThread-0 is salling ticket 20rnmain is runningrnmethodrnThread-1 is salling ticket 19rnmethodrnThread-1 is salling ticket 18rnmethodrnThread-1 is salling ticket 17rnmethodrnThread-1 is salling ticket 16rnmethodrnThread-1 is salling ticket 15rnmethodrnThread-1 is salling ticket 14rnmethodrnThread-1 is salling ticket 13rnmethodrnThread-1 is salling ticket 12rnmethodrnThread-1 is salling ticket 11rnmethodrnThread-1 is salling ticket 10rnmethodrnThread-1 is salling ticket 9rnmethodrnThread-1 is salling ticket 8rnmethodrnThread-1 is salling ticket 7rnmethodrnThread-1 is salling ticket 6rnmethodrnThread-1 is salling ticket 5rnmethodrnThread-1 is salling ticket 4rnmethodrnThread-1 is salling ticket 3rnmethodrnThread-1 is salling ticket 2rnmethodrnThread-1 is salling ticket 1rn问:rn1.Thread.sleep休眠的是当前的线程,在上面程序中休眠的就是主线程main,rn 同时导致了线程Thread-1休眠期不能开启,这里的分析正确?rn2.如果上面正解的话,tryThread.sleep(1000);catch(Exception e) rn 这句代码<em>为什么</em>不能保证tickets在线程Thread-0中被完全售出?
TimeUnit.MILLISECONDS.sleep Thread.sleep的区别 ?
TimeUnit.MILLISECONDS.sleep Thread.sleep的区别
请教 Thread.sleep(long) 问题
我的程序中设定了 Thread.sleep(1000) rn怎么程序过了16秒又重新<em>执行</em>啦 会出现好多个"8833 connect false"rn是怎么回事呀,请说明一下,谢谢rnrnrnprivate void init8833DS() rn DS8833 = new BasicDataSource();rn DS8833.setDriverClassName("oracle.jdbc.driver.OracleDriver");rn DS8833.setUsername(dbMessages.getString("8833.username"));rn DS8833.setPassword(dbMessages.getString("8833.password"));rn DS8833.setUrl(dbMessages.getString("8833.url"));rnrn Connection con = null;rnrn while(true) rn try rn con=DS8833.getConnection();rn Statement stmt = con.createStatement();rn ResultSet rs = stmt.executeQuery("select sysdate from dual");rn //测试连接。未报异常,连接正常rn rs.close();rn stmt.close();rn System.out.println("8833 connect successfully");rn break;rnrn catch (SQLException e1) rn //e1.printStackTrace();rn System.out.println("8833 connect false");rn try rn Thread.sleep(1000);rn catch (InterruptedException ex1) rn rn finally rn if (con != null)rn try rn con.close();rn catch (SQLException ex) rn rn rn rnrn
请问一个thread.sleep()的问题
那个<em>thread.sleep</em>()不能用在instance上也就是说象:Thread t=new Thread(workthread);t.Start();t.Sleep(1000);是不可以的。而一定要把Thread.Sleep()加在Threading的内部才可以用。那么有什么方法可以实现对一个instance直接进行睡眠一定时间的操作,就像ThreadInstance.Sleep(1000);这样用哪?
Thread.Sleep(0)的含义
经常有朋友问:Thread.Sleep(0)的含义rn我给朋友解答,顺便写了一个例程,供大家讨论rnrnThread.Sleep(0):Specify zero (0) to indicate that this thread should be suspended to allow other waiting threads to execute. rnrn例子:rnstatic void Main(string[] args)rn rn T=new Thread(new ThreadStart(MyCalculate)); rn T.Start();rn DateTime s=DateTime.Now;rn Thread.Sleep(0);//大家可以注释这条语句察看结果的不同rn T.Abort();rn TimeSpan e=DateTime.Now-s; rn Console.WriteLine(e+"thread end");rn rn public static void MyCalculate()rn rn int i=0;rn while(true)rn rn i++;rn Console.WriteLine(i+"thread start");rn rn
Thread.sleep()应该放在哪里?
rn看了不少文章,都说到Thread.sleep(),但是还是不太清楚。rnrnThread.sleep() 这句应该放在多线程里,还是放在更新界面的主UI线程里?rnrnThread.sleep(0)是什么意思?rnrnThread.sleep()本质意思是什么?rnrn谁能解释下?rnrnrn
关于Thread.sleep()方法
Sleeping is used to delay execution for a period of time, and no locks arernreleased when a thread goes to sleep.rnrnWhen the sleep or wait is over, or an object’s lock becomes available, the thread can only reenter the runnable state. It will go directly from waiting to running (well, for all practical purposes anyway).rnrn既然sleep时,线程仍然拥有对象的锁,那么wake up的时候怎么还会 "不一定" 进入运行状态的呢?rnrn如何理解,请指教(正在看SCJP)。
Timer+Timertask 与 while(true)Thread.sleep()
java.util.Timer + Timertask rn和 rnThread的sleep + while(true) rn都能实现定时<em>执行</em>效果rn请问区别,用哪个更好
java线程问题,thread.sleep()
[img=https://img-bbs.csdn.net/upload/201504/19/1429430550_859813.png][/img]rnrn上面程序里,sleep暂停的是哪个线程(我知道是当前线程,请问具体的是哪个),是主线程?
Thread.sleep()在监听器里的怪事
我的能力实在没办法再怀疑sleep()有什么不对了 大家帮帮我分析一下 事情是这样开始的rnrnrnrnJButton button = new JButton rnJButton button2 = new JButton rnJTextField textField = new JTextField rnrn按扭button2事件监听器()rn for(.... rn rn button.requestFocus(); rn Thread.sleep(500); rn textField.requestFocus(); rn Thread.sleep(500); rn rnrnrn原本我是想依靠两个部件之间的焦点切换 实现两个部件交替闪烁 但是并未达到预想效果 后来才发现requestFocus();只是向JVM请求焦点 并不能马上且肯定得到焦点 当sleep(500)结束以后 两个requestFocus();只做了最后一个(起码在视觉上是这样 因为瞬间又切换到textField上) rnrn后来做了实验 吧FOR移到事件监听外面 一些正常 代码如下rn rnfor(.... rn rn button.requestFocus(); rn Thread.sleep(500); rn textField.requestFocus(); rn Thread.sleep(500); rn rnrn才发现自己之前的想法是错的 又怀疑是被点击的按钮正在获得焦点 所以与button.requestFocus()冲突 然后又做了实验想证明自己想法是对的 可是这次我又错了 如下:rnrn按扭button2事件监听器()rn button.requestFocus();rnrn效果效果一切正常rnrn难道是Thread.sleep(500);在捣鬼 可是在代码2里都正常啊 就是放在监听器里就不行了 我的能力实在没办法再怀疑sleep()有什么不对了
thread.sleep(32)实际是thread.sleep(47)想实现thread.sleep(40)怎么办?
using System.data;rnusing System.threading;rnusing System.text;rnclass programrnstatic void main()rnint i=0;rnwhile(true)rni++;rn<em>thread.sleep</em>(32);rnconsole.writeline(DateTime.now.millonsecond);rnif(i>=100)rnConsole.readkey();rnrnrnrnrnrnrnrn输出的数之间差不是32而是47,31以前的还准确。99的时候是110.请问问题出在哪里,谁能给出一个精确的定时器,毫秒级的。我试了System.windows.timer,System.timer.timer;System.threading.timer;都不可以。不够精确,总有误差,难道是我的程序<em>执行</em>的时间太长,超过了定时的间隔吗?
Thread.sleep() 与 Thread.currentThread().sleep()区别
搜索了下百度,google,得到的答复都是没有区别rnrn觉得很奇怪,不可能没区别吧?rnrn在单个线程下应该一样,但是有多个线程还是没区别?在多个线程下,Thread.sleep()是不是当前线程sleep呢,如果是的话,那两者不是真的没区别了? 那currentThread()方法到底有什么用,难道就是为了得到个Thread对象?rnrnThread.sleep() 与 Thread.currentThread().sleep()区别到底是什么啊
winfrom的thread.sleep()的问题
现在有A,B,C,D,E五个窗体,A窗体为父窗体,A中含有两个timer1和timer2个,timer1来控制b,c,d,e的循环,timer2用来时间倒计时,在b,c,d循环到一定次数,e窗体出现,想让e窗体停留的时间延长一些,我将<em>thread.sleep</em>()写在在e的代码中,页面是不东了,但倒计时已经在背后开始了,要是写在a中,没有效果!我该怎么写!请指教?
关于Thread.Sleep的精度
在网上查到的资料说Thread.Sleep的精度是15MS左右。rn但是我写出如下代码:rn[code=csharp]rnusing System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Drawing;rnusing System.Linq;rnusing System.Text;rnusing System.Threading.Tasks;rnusing System.Windows.Forms;rnusing System.Threading;rnusing System.IO;rnrnnamespace TestTimePrecisionrnrn public partial class Form1 : Formrn rn private Thread myThread = null;rn private StringBuilder sb = new StringBuilder();rnrn public Form1()rn rn InitializeComponent();rn rnrn private void button1_Click(object sender, EventArgs e)rn rn sb.Clear();rn myThread = new Thread(new ThreadStart(ThreadHandler));rn myThread.IsBackground = true;rn myThread.Start();rn rnrn private void button2_Click(object sender, EventArgs e)rn rn myThread.Abort();rn if (sb.Length > 0)rn rn FileStream fs = new FileStream(@"D:\desktop\testtime.txt", FileMode.Create);rn StreamWriter sw = new StreamWriter(fs);rn sw.Write(sb.ToString());rn sw.Close();rn fs.Close();rn rn rnrn private void ThreadHandler()rn rn while (true)rn rn sb.AppendLine(DateTime.Now.ToString("o"));rn Thread.Sleep(1);rn rn rn rnrn[/code]rnrnrn在文件中输出的时间的间隔确实是1MS,这个怎么解释呢?
Thread.sleep的用法(搭配异步处理)
Thread.sleep的用法 当我想延迟一段时间的时候呢,会不自觉的想到使用Thread.sleep函数,但我经常会忘记它会阻断主线程这回事,通俗来说就是用该函数阻止主线程200ms,那么后边的都得给我延迟200ms。而一些新手,比如我,经常忘了这回事。比如我们使用下边的方法 void main() { RunThread(); Console.writeLine(&quot;B&quot;); } void R...
java Thread.sleep()的问题
java中 Thread.sleep();这个方法会把该sleep对象锁定么?(资料上说是锁定的,但是举例子不是)rn如果锁定其它线程还能用么?rnrnpackage thread;rnrnpublic class MyThread001 extends Thread rnrn public void run() rn for (int a = 0; a < 20; a++) rn try rn Thread.sleep(10);rn catch (Exception e) rn rn System.out.println(Thread.currentThread().getName() + " " + a);rn rn rnrn rnrn rn static long id = 0;rn rn public static void main(String args[]) rn MyThread001 t1 = new MyThread001();rn MyThread001 t2 = new MyThread001();rn t1.start();rn t2.start();rn rn rnrnrnrn
Thread.sleep(100)的问题
在做Socket编程的时候rn<em>为什么</em>总要使线程sleep,不太明白地说rnrn例如:rnrnpublic void run()rn while(true)rn tryrn String inStr = bufferedReader.readLine();rn if(inStr.equals("exit"))rn printWriter.close();rn bufferedReader.close();rn break;rn elsern printWriter.println("From Server: " + inStr);rn rn sleep(300);rn catch(Exception e)rn printWriter = null;rn bufferedReader = null;rn throw new RuntimeException(e);rn rn rnrn
关于 Thread.Sleep(Timeout.Infinite) 唤醒
Thread.Sleep(Timeout.Infinite);rnrn一个线程<em>执行</em>这条语句后就暂停了,怎么让它继续运行?rnrn用 Thread.Sleep(XXX);rn我不确定中间到底要停多少秒
java多线程关于Thread.sleep()
[code=java]public class Entity extends Threadrn public boolean flag = false;rn @Overridern public void run() rn System.out.println("start to execute ---");rn while(!flag)rnrn rn System.out.println("finish to execute----");rn rnrn public void isRun(boolean flag)rn this.flag = flag;rn rnrn public boolean getRun()rn return flag;rn rnrn[/code]rn[code=java]public class Demo3 rnrn public static void main(String[] args) throws Exceptionrn Entity entity = new Entity();rn entity.start();rn Thread.sleep(300);rn entity.isRun(true);rn System.out.println("the final value is:" + entity.getRun());rn rn[/code]rnrn目前在做一个多线程的测试,<em>为什么</em>加上Thread.sleep(300)结果就输出 rnstart to execute ---rnthe final value is:truern而不加上就输出:rnthe final value is:truernstart to execute ---rnfinish to execute----rn
关于thread.sleep()的问题,求教!!!!!!
public class ThreadTMrnrn public static void main(String [] args)rn rn ThreadMTs t= new ThreadMTs();rn new Thread(t).start();rn new Thread(t).start();rn new Thread(t).start();rn new Thread(t).start();rn rnrnrnclass ThreadMTs implements Runnablernrn private int tick=100;rn String str =new String("");rn public void run()rn rn while(true)rn rn synchronized(str)rn rn if(tick>0)rn rn rn tryrn rn Thread.sleep(10);rn rn rn catch(Exception e)rn rn System.out.println(e.getMessage());rn rn rn rn System.out.println(Thread.currentThread().getName()+"is saling ticket"+tick--);rn rn rn rn rn rnrnrn请问在这个程序中,第一个线程到了Thread.sleep(10);的时候,是不是就不再<em>执行</em>下面System.out.println(Thread.currentThread().getName()+"is saling ticket"+tick--);的代码了,而是立刻切换到第二个线程了,这时第二个线程运行,我就在想如果老是这么下去,岂不是永远都<em>执行</em>不了System.out.println(Thread.currentThread().getName()+"is saling ticket"+tick--);语句了么?rn我比较疑惑,请大家帮助我好么!rn
Thread.Sleep()系统时间的问题
我写一个毫秒的计数器 codernrnwhile( true )rnrn Thread.Sleep( 1 );rn 答案是 循环壹千次 大于等于真正时间的2秒多 <em>为什么</em> 难道我机子太慢 不会把rnrnrn顺便问问 我上面的while是threadstart中的方法rn那<em>为什么</em>我中止了这个线程 while依然没有停下来呢
[MVC] 在action中执行Thread.Sleep会导致后续请求阻塞
假设我有一个如下的Action,用浏览器访问一次以后,输出ok然后挂起10秒,但是如果同时再访问一次,就必须等之前的请求处理完毕以后才会进入Action,也就是第二次访问要等10秒后才会输出ok,这是怎么回事?rn但是如果开另外一个浏览器就不会有这样的问题rn[code=csharp]rnpublic class TestController : Controller rn rn public void Index()rn rn Console.WriteLine("ok");rn Thread.Sleep(10000); rn rn rn[/code]
关于Thread类,为什么Thread没有实例化就可以执行Thread.sleep(10000);
[code=java]rnimport java.lang.*;rnimport java.util.Date;rnrnpublic class testrnrn public static void main(String[] args)rn rn Runner r=new Runner();rn Thread t=new Thread(r);rn t.start();rn try rn Thread.sleep(10000);rn catch (InterruptedException e) rn e.printStackTrace();rn rn t.interrupt();rn rnrnrnclass Runner implements Runnablernrn public void run()rn rn while(true)rn System.out.println("==========" +new Date()+"==========");rn try rn Thread.sleep(1000);rn rn catch (InterruptedException e) rn return ;rn rn rn rn[/code]rnrn<em>为什么</em>Thread没有实例化就可以<em>执行</em>Thread.sleep(10000);
为什么执行到getHibernateTemplate().find(hql),执行就停住了,不会往下执行,也没异常出来?
用SQLQuery查询就没问题,如果是用下面这句就可以查询出数据rn List sqlList = this.getSession().createSQLQuery("select * from test").list();rnrn //下面这2句直接就不动了,没异常,也没错误出来。rn 同一个方法里面的getHibernateTemplate().save(T) 可以用, 就是查询不行rn [code=java] String hql =" from Test";rn tryrn list = (List) this.getHibernateTemplate().find(hql);rn list = this.getSession().createQuery(hql).list();rn catch(Exception e)rn System.out.println("error"+e.getMessage());rn e.printStackTrace();rn rnrnSystem.out.println("run end...............");// 下面这句永远<em>执行</em>不到。rn[/code]rnrn<em>为什么</em>有这么奇怪的事情,难道查询还有特别配置???
FACEBOOK效应_英文下载
深入分析Facebook经营及管理模式。 相关下载链接:[url=//download.csdn.net/download/dqgclp/2942741?utm_source=bbsseo]//download.csdn.net/download/dqgclp/2942741?utm_source=bbsseo[/url]
java+sql2000 学生选课系统下载
这是一个用java做的sql2005数据库课程设计,简单,满足你的作业需求。 相关下载链接:[url=//download.csdn.net/download/stone2013/3109087?utm_source=bbsseo]//download.csdn.net/download/stone2013/3109087?utm_source=bbsseo[/url]
Programming_Game_Ai_By_Example.rar下载
Programming_Game_Ai_By_Example.rar Programming_Game_Ai_By_Example.rar Programming_Game_Ai_By_Example.rar Programming_Game_Ai_By_Example.rar 相关下载链接:[url=//download.csdn.net/download/markqian86/3288769?utm_source=bbsseo]//download.csdn.net/download/markqian86/3288769?utm_source=bbsseo[/url]
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件
我们是很有底线的