Java yield()方法不起作用.Netbeans Ubuntu 10.04

Vic*_*tor 2 java ubuntu multithreading netbeans

我在Ubuntu 10.04 x86_64上使用Netbeans 6.9.1在Java中使用Threads.我使用yield()方法时遇到问题,因为当我调用此方法时,当前线程继续运行而不是停止并让其他线程执行.

下面的代码是使用yield运行2个线程的简单示例.而不是运行第一个线程,打印一行然后停止线程,程序完成线程1然后运行thread2,因为没有调用方法yield.我在Windows上测试了这个代码,它运行得很好!所以我想知道在Ubuntu或64位平台上使用这种方法是否有任何问题.

任何的想法?提前致谢.


//ThreadTest.java
public class ThreadTest extends Thread{
    public ThreadTest (String name){
        super(name);
    }
    public void run(){
        for (int i=0;i<5;i++){
            System.out.println(getName()+" - "+i);
            yield();
        }
        System.out.println(" END "+getName());
    }
}

//Main.java public class Main { public static void main(String[] args) { ThreadTest t1 =new ThreadTest("Thread1"); ThreadTest t2 =new ThreadTest("Thread2"); t1.start(); t2.start(); } }