2

のテストコードがありwait(timeout)ます。

public static void main(String[] args) throws Exception
{
    Runnable r = new Runnable()
    {

        public void run()
        {
            while (true)
            {
                int random = (int)(Math.random() * 10);

                synchronized(this)
                {
                    try
                    {
                        wait(random);
                    }
                    catch (InterruptedException e)
                    {
                        e.printStackTrace();
                    }
                }
                System.out.println(random);
            }
        }
    };

    new Thread(r).start();
}

しかし、これは適切に機能していないようです。理想的には、メソッドで指定された一定の時間待ってrandomから印刷する必要があります。しかし、いくつかの値を出力した後に停止するたびに(ランダムな回数)。

何が問題なのかを特定できません。

4

1 に答える 1