问题所在
开发过程中发现,本机开发好的项目,部署到Lunix服务器竟然报错500!查了代码发现:
Robot r = new Robot(); r.delay(1100);//延时1100ms
这个延迟函数,在Lunix上会报异常;
问题解决
换成线程延时
Thread.sleep(1100);//毫秒
问题延申
Thread.sleep()和Thread.currentThread().sleep()区别?
线程可以用继承Thread类或者实现Runnable接口来实现.
Thread.sleep()是Thread类的方法,只对当前线程起作用,睡眠一段时间.
如果线程是通过继承Thread实现的话这2个方法没有区别;
如果线程是通过实现Runnable接口来实现的,则不是Thread类,不能直接使用Thread.sleep()
必须使用Thread.currentThread()来得到当前线程的引用才可以调用sleep(),
所以要用Thread.currentThread().sleep()来睡眠