时间: 2021-07-31 作者:daque
即使工作仍旧启用,isstarted()本领将归来true:
public synchronized boolean isstarted() { return started;}
即使工作仍旧实行,iscompleted()本领将归来true:
public synchronized boolean iscompleted() { return counter == 100;}
即使工作正在运转,isrunning()本领将归来true:
public synchronized boolean isrunning() { return running;}
setrunning()本领由start.jsp或stop.jsp挪用,当running参数是true时。setrunning()本领还要将工作标志为“仍旧启用”。挪用setrunning(false)表白诉求run()本领遏止实行。
public synchronized void setrunning(boolean running) { this.running = running; if (running) started = true;} 工作实行结束后,挪用getresult()本领归来计划截止;即使工作尚未实行结束,它归来null:
public synchronized object getresult() { if (iscompleted()) return new integer(sum); else return null;} 当running标志为true、completed标志为false时,run()本领挪用work()。在本质运用中,run()本领大概要实行搀杂的sql查问、领会巨型xml文书档案,大概挪用耗费洪量cpu功夫的ejb本领。提防“沉重的工作”大概要在长途效劳器上实行。汇报截止的jsp页面有两种采用:大概等候工作中断,大概运用一个进度条。
public void run() { try { setrunning(true); while (isrunning() && !iscompleted()) work(); } finally { setrunning(false); }}