home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ring.yamanashi.ac.jp/pub/pc/freem/action/
/
action.zip
/
baku100.zip
/
baku100
/
Kernel
/
WaitProc.tonyu
< prev
Wrap
Text File
|
2002-03-12
|
774b
|
45 lines
extends Object;
constructor WaitProc() {
ls=new Array();
}
function add(o) {
var i,e,na;i=0;
while(i<ls.size()) {
//print(i);
e=ls.get(i).get(0);
if (o.nextWake==e.nextWake) {
ls.get(i).add(o);return;
}
if (o.nextWake<e.nextWake) {
na=new Array();
na.add(o);
ls.insert(i,na);
return ;
}
i+=1;
}
na=new Array();
na.add(o);
ls.add(na);
}
function autoWake(ti) {
var a,b,e,ai;
if (ls.size()>0) {
//print ("wakeing.."+ti);
a=ls.get(0);
e=a.get(0);
if (e.nextWake<=ti) {
ai=a.size();
while (ai>0) {
b=a.get(0);
b.notify();
a.delete(0);
ai-=1;
}
ls.delete(0);
}
}
}