日期:2014-05-20  浏览次数:20759 次

在用sleep()方法时出现的一个不我不解的问题
以下是两个代码片段

片段1
threadNew.sleep(1000);
d=new   Date();
//calv_label是一个标签名称
//df是SimpleDateFormat的一个实例
calv_label.setText(df.format(d));

片段2
d=new   Date();
//calv_label是一个标签名称
//df是SimpleDateFormat的一个实例
calv_label.setText(df.format(d));
threadNew.sleep(1000);

前一段代码能在标签中显示当前时间(动态的),并且无异常抛出.
后一段则只能在标签中显示当前时间(静态的),并且有异常抛出.出:java.lang.nullpointerException
at   java.lang.Thread.run(thread.java)

请问这是怎么回事?


------解决方案--------------------
代码太少
------解决方案--------------------
代码太少
------解决方案--------------------
依赖于sleep的线程?
------解决方案--------------------
object.sleep()方法使当前线程休眠一段时间,线程休眠期间,不释放它所申请的各种锁,即一个同步线程在sleep时,同一个对象的同步方法无法运行。你的线程被block了当然是空指针异常了。