public static void main(String[] args) {
String aaa= "原来的数据";aaa=getAAA(); System.out.println("aaa="+aaa);
}private static String getAAA(){/*我在这边写了一个死循环*/
return "getaaa";
}我想监控aaa=getAAA()这段代码.如果这段代码执行时间超过10秒就自动跳过.输出结果为
aaa=原来的数据我不知道有没有描述清楚我的问题.请大侠们给点思路.谢谢
String aaa= "原来的数据";aaa=getAAA(); System.out.println("aaa="+aaa);
}private static String getAAA(){/*我在这边写了一个死循环*/
return "getaaa";
}我想监控aaa=getAAA()这段代码.如果这段代码执行时间超过10秒就自动跳过.输出结果为
aaa=原来的数据我不知道有没有描述清楚我的问题.请大侠们给点思路.谢谢
则:String aaa= "原来的数据"; ThreadB.join(10*1000);//最多等待10秒。否则自己继续运行
System.out.println("aaa="+aaa);
然后就用Timer调用TimerTask并设定执行时间,就可以了
package zhao;public class Test11{
public static void main(String[] args) {
String aaa= "原来的数据"; aaa=getAAA(); System.out.println("aaa="+aaa);
} private static String getAAA(){ long start = System.currentTimeMillis();
long end = 0;
while(true) {
System.out.print("hi");
end = System.currentTimeMillis();
if((end-start)/1000>=10) {//已经过10秒
return "getaaa";
}
}
//return "getaaa";
}
}
* @param args
*/
public static void main(String[] args) {
String aaa = "原来的数据"; try {
MyThread aa = new MyThread();
aa.start();
//设置最长等待两秒
aa.join(2 * 1000);
aaa = aa.getAAA();
} catch (Exception e) {
// TODO: handle exception
}
System.out.println("aaa=" + aaa);
}} class MyThread extends Thread { public String getAAA() { long start = System.currentTimeMillis();
long end = 0;
while (true) {
end = System.currentTimeMillis();
if ((end - start) / 1000 >= 10) {// 已经过10秒
return "getaaa";
}
}
}}
重发一下代码/**
* @author XuHuiJun
*
*/
public class Test { /**
* @param args
*/
public static void main(String[] args) {
String aaa = "原来的数据"; try {
MyThread aa = new MyThread();
aa.start();
//设置最长等待两秒
aa.join(2 * 1000);
aaa = aa.getAAA();
} catch (Exception e) {
// TODO: handle exception
}
System.out.println("aaa=" + aaa);
}} class MyThread extends Thread { public String getAAA() { long start = System.currentTimeMillis();
long end = 0;
while (true) {
end = System.currentTimeMillis();
System.out.println((end - start)/1000);
if ((end - start) / 1000 >= 10) {// 已经过10秒
return "getaaa";
}
}
}}
{
public static void main(String[] args) {
String aaa = "原来的数据"; try {
MyThread aa = new MyThread();
aa.start();
//设置最长等待两秒
aa.join(2 * 1000);
aaa = aa.getAAA()!=null?aa.getAAA():aaa;
} catch (Exception e) {
// TODO: handle exception
}
System.out.println("aaa=" + aaa);
}} class MyThread extends Thread {
private String rs=null;
public String getAAA()
{
return rs;
}
private String _getAAA() {
//你的真正代码放在此处
long start = System.currentTimeMillis();
long end = 0;
while (true) {
end = System.currentTimeMillis();
// System.out.println((end - start)/1000);
if ((end - start) / 1000 >= 10) {// 已经过10秒
return "getaaa";
}
}
}
public void run()
{
rs=_getAAA();
}}