网站建设时怎么附加数据库,广州网站建设哪个公司做得好些,如何优化网站打开速度,中国建设工程鲁班奖查询网站线程类静态本机无效 yield()软件包java.lang.Thread.yield()中提供了此方法。yield()方法表示停止当前正在执行的线程#xff0c;并为其他优先级相同的等待线程提供机会。如果没有等待线程#xff0c;或者所有等待线程的优先级都较低#xff0c;则同一线程将继续执行。这种方…线程类静态本机无效 yield()软件包java.lang.Thread.yield()中提供了此方法。yield()方法表示停止当前正在执行的线程并为其他优先级相同的等待线程提供机会。如果没有等待线程或者所有等待线程的优先级都较低则同一线程将继续执行。这种方法的优点是有机会执行其他等待线程因此如果我们当前的线程需要更多时间来执行并将处理器分配给其他线程。此方法是静态的因此我们也可以使用类名访问此方法。这是一个本地方法这意味着该方法的实现在其他语言(例如CC )中可用因此只要需要此方法就可以在类中声明。我们不能期望何时产生收益将由线程调度程序决定。此方法的返回类型为void因此它不返回任何内容。语法static native void yield(){}参数在Thread方法中我们不传递任何对象作为参数。返回值此方法的返回类型为void它不返回任何内容。Java程序演示yield()方法示例/* We will use Thread class methods so we areimporting the package but it is not mandate becauseit is imported by default*/import java.lang.Thread;class MyThread extends Thread {//run()Thread类的重写方法public void run() {for (int i 0; i //通过调用yield()方法意味着MyThread停止其//执行并给主线程一个机会Thread.yield();System.out.println(Thread started: Thread.currentThread().getName());}System.out.println(Thread ended: Thread.currentThread().getName());}}class Main {public static void main(String[] args) {//在这里我们调用start()Thread类的方法然后//它将调用run()MyThread的方法MyThread mt new MyThread();mt.start();for (int i 0; i System.out.println(Thread started: Thread.currentThread().getName());}System.out.println(Thread ended: Thread.currentThread().getName());}}注意如果我们在/*Thread.yield()*/这一行中添加注释则两个线程将同时执行我们无法预期哪个线程将完成其执行。如果我们不注释/*Thread.yield()*/这一行那么就有可能首先执行主线程因为MyThread总是调用yield()方法。输出结果E:\Programsjavac Main.javaE:\Programsjava MainThread started:mainThread started:Thread-0Thread started:mainThread started:mainThread started:mainThread started:mainThread started:Thread-0Thread ended:mainThread started:Thread-0Thread started:Thread-0Thread started:Thread-0Thread ended:Thread-0