日期:2014-05-20  浏览次数:20600 次

多线程的优先级的问题
我想让线程t运行完毕后在运行isEqual()方法`
但是给t设了最大优先级别好象也没效果``
怎么能让t线程运行完毕以后在接着运行主线程里的isEqual()方法`

Java code

Number0 n1=new Number0();
        Thread t=new Thread(n1);
        t.setPriority(Thread.MAX_PRIORITY);
        t.start();
        isEqual();



------解决方案--------------------
在isEqual()的前面加一个this.wait把main函数给停了
然后再t的run里面加一个notifyAll();
这样就只能等t线程完结才执行wait后面的isEqual方法
------解决方案--------------------
优先级的设定只是设定优先级
能控制优先,但不能控制cpu对线程的调用
优先级是让cpu先调用优先级高的线程的概率大点而已
------解决方案--------------------
...
t.start();
t.join();
isEqual();