私の状況では、2 つの同時スレッドがあり、1 つはタイマーを開始できず、もう 1 つはタイマーを停止できます。タイマーは、開始すると 5 秒までカウントし、その後関数を実行するように動作します。タイマーが他のスレッドによって停止されるまで、これを続けます。これをJavaでどのように実装できますか。これは私が持っているものです、私はそれが間違ったやり方だと感じています:
sleep は、他の 2 つのスレッドがオンとオフを切り替えるグローバルな揮発性変数であることに注意してください。
void creatTime(final EventHandler handler)
{
Thread timer = new Thread()
{
public void run()
{
try
{
while(true)
{
while(sleep) Thread.sleep(1000);
//invoke function
}
}
catch(IOException e)
{
System.out.println(e);
}
}
};
timer.start();
}
}