public class ProcessOne extends Process
{
private CriticalResourceOne r1;
private CriticalResourceTwo r2;
public ProcessOne(CriticalResourceOne r1,CriticalResourceTwo r2)
{
this.r1=r1;
this.r2=r2;
}
public void down(CriticalResource res)
{
res.sem--;
if(res.sem<0)
{
res.bl.(this);/*这里能否这样用this,把这个类的一个对象作为参数传给另一个对象的方法*/
}
}
public void up(CriticalResource res)
{
res.sem++;
if(res.sem<=0)
{
.....
}
}
public void run()
{
........
}
}
{
private CriticalResourceOne r1;
private CriticalResourceTwo r2;
public ProcessOne(CriticalResourceOne r1,CriticalResourceTwo r2)
{
this.r1=r1;
this.r2=r2;
}
public void down(CriticalResource res)
{
res.sem--;
if(res.sem<0)
{
res.bl.(this);/*这里能否这样用this,把这个类的一个对象作为参数传给另一个对象的方法*/
}
}
public void up(CriticalResource res)
{
res.sem++;
if(res.sem<=0)
{
.....
}
}
public void run()
{
........
}
}
那个方法参数也要定义
res.bl.(Object object)
res.bl.(this);/*可以这么用,传的当前对象的引用,前提是CriticalResource类中要有个类似
bl(ProcessOne p)的方法*/