我有一个项目,我正在处理多线程,我正在努力了解如何实现这样的目标。
该程序代表一个厨房,我有一个烤箱,我想运行X的时间,我希望线程阻止X的时间量,并在块结束时,返回是否菜完全煮熟了(烤箱是否在整个X时间内都打开了?)
我遇到的问题是,当我的线程阻塞时,我的布尔值可以被打开并重新打开,我无法捕获它,只是结束结果。
我可以使用Java中的某些内容,这样我就可以在线程上阻塞,直到时间结束或布尔值发生变化?
我目前的代码如下:
public boolean cookFor(int minutes)
{
//Milliseconds of block should be relative to temperature
int milliseconds = (minutes * 100);
try
{
//Block thread for milliseconds time
Thread.sleep(milliseconds);
}
catch (InterruptedException e)
{
}
//Status indicates if Oven is On or Off
return status;
}