相关疑难解决方法(0)

yield()的主要用途是什么,它与join()和interrupt()有什么不同?

yield()对Java 中方法的使用有点困惑,特别是在下面的示例代码中.我还读过yield()'用于防止执行线程'.

我的问题是:

  1. 我相信下面的代码在使用yield()和不使用时都会产生相同的输出.它是否正确?

  2. 事实上,什么是主要用途yield()

  3. 在哪些方面与方法yield()不同?join()interrupt()

代码示例:

public class MyRunnable implements Runnable {

   public static void main(String[] args) {
      Thread t = new Thread(new MyRunnable());
      t.start();

      for(int i=0; i<5; i++) {
          System.out.println("Inside main");
      }
   }

   public void run() {
      for(int i=0; i<5; i++) {
          System.out.println("Inside run");
          Thread.yield();
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

使用和不使用上面的代码我获得相同的输出yield():

Inside main
Inside main
Inside main
Inside main
Inside main
Inside run
Inside run
Inside run
Inside …
Run Code Online (Sandbox Code Playgroud)

java multithreading yield-keyword concurrent-programming

98
推荐指数
4
解决办法
10万
查看次数

InputStream.available() 什么时候有用?

Java 套接字编程InputStream.available()什么时候有用?BufferedInputStream.available()

java sockets

3
推荐指数
1
解决办法
2841
查看次数