public void run(){ while(true){ if(xclass.getXState()){ //还不知怎样处理连接维持30秒? xclass.setXNull(); } } }
public void run(){ //开始计时 long begintime = System.currentTimeMillis(); while(true){ if(xclass.getXState()){ //判断当前时间是否大于30秒 long usedTime = System.currentTimeMillis() - beginTime; if (usedTime > 30000) xclass.setXNull(); } sleep(100); } }
inner class就是"类中类",是在Java 2中提出的新概念.例如,一个人体的inner class可以定义为如下形式: public class Body{ class Head{ class Mouth{ //... } class Nose{ //... } class Eyes{ //... } //... } class Leg{ //... } //... } }你提出的问题的解答(不完整): Object S = new Object();
while(true){
if(xclass.getXState()){
//还不知怎样处理连接维持30秒?
xclass.setXNull();
} }
}
//开始计时
long begintime = System.currentTimeMillis();
while(true){
if(xclass.getXState()){
//判断当前时间是否大于30秒
long usedTime = System.currentTimeMillis() - beginTime;
if (usedTime > 30000)
xclass.setXNull();
}
sleep(100);
}
}
public class Body{
class Head{
class Mouth{
//...
}
class Nose{
//...
}
class Eyes{
//...
}
//...
}
class Leg{
//...
}
//...
}
}你提出的问题的解答(不完整):
Object S = new Object();
void methodThatMayChangeState()
{
//TODO: 改变状态
S.notify(); 解挂阻塞在信号量上的线程
//....
}
public void run()
{
do{
S.wait(); //该线程在这里挂起,由此不用再使用CPU,直到有其他
//S.notify()执行到
//TODO: 30秒内无等待则continue
}while(true); //....
}