java如何设置线程运行时间吗
关注:191 答案:2 mip版
解决时间 2021-01-28 13:16
提问者一种小幸福
2021-01-28 04:03
java如何设置线程运行时间吗
最佳答案
二级知识专家輓畱嶼赱
2021-01-28 04:17
在线程开始的时候,用一个变量记录当前系统时间,线程执行完后再取一次系统时间,两个时间的差就是线程执行时间了。
全部回答
1楼指间的落寞
2021-01-28 05:13
同意楼上的说法,具体来说你想要的结果实现方法如下:
public class sleeptimetest {
public static void main(string[] args) {
long time = system.currenttimemillis();
myclass m1 = new myclass();
m1.setbegintime(time);
thread t1 = new thread(m1);
myclass m2 = new myclass();
m2.setbegintime(time);
thread t2 = new thread(m2);
t1.start();
t2.start();
}
}
class myclass implements runnable {
private long time = 0l;
public void setbegintime(long time) {
this.time = time;
}
public void mysleep() {
try {
thread.sleep(5000);
system.out.println("done");
} catch (interruptedexception e) {
e.printstacktrace();
}
}
public void run() {
system.out.println("start");
mysleep();
system.out.println(system.currenttimemillis()-time);
}
}main方法是本身就是一个线程,在这里其实有三个线程,main,t1, t2,而你原来的写法里,是将main方法先sleep了5秒,然后输出当前时间差,又让main方法sleep5秒,再次输出时间差。
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看