
正文
包含java代码延时10秒的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java等待10秒在运行怎么写代码
Thread.sleep(10000).
交出线程占用CPU时间十秒钟.
单位是毫秒.
相关问答
Q1: java语言java类怎么等待10秒和执行下面的代码
{
thread.sleep(10000)java代码延时10秒;
下面要执行java代码延时10秒的语句
}
希望能帮到你java代码延时10秒,望采纳。
Q2: JAVA中 如何使用延迟?
Java中主要有两种方法来实现延迟java代码延时10秒,即:Thread和Timer
1、普通延时用Thread.sleep(int)方法java代码延时10秒,这很简单。它将当前线程挂起指定java代码延时10秒的毫秒数。如
try
{
Thread.currentThread().sleep(1000);//毫秒
}
catch(Exception e){}
在这里需要解释一下线程沉睡的时间。sleep()方法并不能够让程序"严格"的沉睡指定的时间。例如当使用5000作为sleep()方法的参数时,线 程可能在实际被挂起5000.001毫秒后才会继续运行。当然,对于一般的应用程序来说,sleep()方法对时间控制的精度足够了。
2、但是如果要使用精确延时,最好使用Timer类:
Timer timer=new Timer();//实例化Timer类
timer.schedule(new TimerTask(){
public void run(){
System.out.println("退出");
this.cancel();}},500);//五百毫秒
这种延时比sleep精确。上述延时方法只运行一次,如果需要运行多次, 使用timer.schedule(new MyTask(), 1000, 2000); 则每间隔2秒执行MyTask()
Q3: java 如何调用方法里超过10秒就终止该方法,不往下执行,防止线程阻塞
本来用DWR调用方法就是多线程的,线程总数与J2EE容器配置的有关。
建议如下:
如果你这个A()调用的接口一次只允许一个访问,那么需要在A所在的类里设置一个静态成员变量,如static
String
object
=
"some"。
然后在A()方法一开始用synchronized
(object)
{..
}把代码都包含进来。
这样可以确保一次只有一个访问。
如果接口一次最多运行固定数目的访问,如10个。那么复杂一些,不过我估计你不是这个情况。一般建议这个固定数目与J2EE容器配置的线程数一致即可。
上述方法都是为了防止接口被同时访问,但这样的后果就是前端用户会等待,甚至线程满。前端等待是没办法的,后面慢,前面只有排队了。线程满的话,最好的方式是采用非阻塞的IO(NIO),不过那个很难做到。你提出的10秒终止方法是一种方案,不过关键在于如何终止一个方法的运行。
很遗憾,Java不能任意终止一个方法的运行,不过对于接口操作,可以如下处理:
a)
如果接口是TCP/IP,那么可以通过强行关闭socket来终止。如:
timer.schedule(
new
TimerTask()
{
public
void
run()
{
socket.close();
}
},
10000);
b)
如果接口是用类库的话,看看它有没有设置timeout的地方,如果有,那么设置一下,如果没有,那么没办法了。
补充:
你用了axis的setTimeout,理论上超过10秒后call.invoke会抛出异常的。
假设后台很慢,每次都需要10秒,假设weblogic线程池大小为50,那么如果同时访问的人超过50个,或者每秒访问量超过5个,那么就会发生线程阻塞。
这是系统性能问题,可以将weblogic的线程池最大数量设置高些来增加吞吐量。不过这种方式治标不治本,如果你的程序预计到并发访问量很大,那么后台响应超过1秒就不太合理了,这个改动起来就很麻烦了。
java代码延时10秒的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java代码延时10秒的信息别忘了在本站进行查找喔。






