当前位置: 首页 > 编程笔记 >

Java并发– yield()方法

楚元章
2023-03-14
本文向大家介绍Java并发– yield()方法,包括了Java并发– yield()方法的使用技巧和注意事项,需要的朋友参考一下

屈服函数

该函数试图确保更重要的线程首先运行,而不是花费太多时间执行并且也不重要的线程。

当线程调用java.lang.Thread.yield方法时,它指示线程调度程序暂停其执行。线程调度程序选择接受还是忽略此指示。

如果线程执行“ yield”功能,则调度程序将检查是否存在具有相同或更高优先级的线程。如果是这样,则将当前线程移至可运行或就绪状态,并为该线程分配处理器资源。

收益函数的语法-

public static native void yield()

让我们看一个例子-

示例

import java.lang.*;
class Demo extends Thread{
   public void run(){
      for (int i=0; i<3 ; i++)
      System.out.println("控制 " + Thread.currentThread().getName() + " thread");
   }
}
public class Demo_one{
   public static void main(String[]args){
      Demo my_obj = new Demo();
      my_obj.start();
      for (int i=0; i<3; i++){
         Thread.yield();
         System.out.println("控制 " + Thread.currentThread().getName() + " thread");
      }
   }
}

输出结果

控制 main thread
控制 main thread
控制 main thread
控制 Thread-0 thread
控制 Thread-0 thread
控制 Thread-0 thread

名为Demo的类扩展了Thread类。在这里,定义了一个“运行”函数,该函数遍历一组元素并使用“ getName”函数获取线程的名称。名为“ Demo_one”的类定义了创建新实例并使用“ start”函数开始新实例的主要功能。同样在这里,元素被迭代,并且在线程上调用yield函数。

  • 一旦线程使用yield方法完成执行,就会有许多线程争夺处理器资源。无法指定哪个线程将首先执行。

  • 一旦线程执行yield方法,它就会从“运行”状态进入“可运行”状态。

  • 仅当平台支持抢先式调度时,才可以使用yield方法。

  • 当线程在其执行期间暂停时,无法确保它早晚获得机会,这完全取决于调度算法和线程调度程序。

 类似资料:
  • 主要内容:示例可以通过调用类的方法获得单个线程池。 语法 方法创建一次执行单个任务的执行程序。 示例 以下程序显示了基于线程的环境中方法的使用。 这将产生以下结果 -

  • 主要内容:示例可以通过调用类的方法获得一个调度的线程池。 语法 示例 以下程序显示了基于线程的环境中方法的使用。 这将产生以下结果 -

  • 主要内容:示例通过调用类的静态方法可以获得缓存的线程池。 语法 其中, 方法创建一个具有可扩展线程池的执行器。 这样的执行者适合于发起许多短命的任务的应用程序。 示例 以下程序在线程环境中显示了方法的用法。 这将产生以下结果 -

  • 主要内容:示例可以通过调用类的方法获得一个固定线程池。 语法 其中, 最多个线程将处于活动状态。 如果提交了两个以上的线程,那么它们将保持在队列中,直到线程可用。 如果一个线程由于执行关闭期间的失败而终止,则执行器尚未被调用,则创建一个新线程。 线程会一直存在,直到池关闭。 示例 以下程序显示在线程环境中使用方法。 这将产生以下结果 -

  • 本文向大家介绍Java并发– sleep()方法,包括了Java并发– sleep()方法的使用技巧和注意事项,需要的朋友参考一下 睡眠功能 该睡眠函数用于确保当前正在执行的线程进入睡眠特定的毫秒数,该毫秒数作为参数传递给该函数。该线程将在该毫秒数内停止执行。 让我们看一个例子 示例 输出结果 名为Demo的类实现Runnable类。定义了一个新线程。接下来,定义一个“运行”函数,该函数遍历一组元

  • 本文向大家介绍Java sleep方法及中断方式、yield方法代码实例,包括了Java sleep方法及中断方式、yield方法代码实例的使用技巧和注意事项,需要的朋友参考一下 一、多线程的sleep方法 1.Thread.sleep(毫秒) 2.sleep方法是一个静态方法 3.该方法的作用:阻塞当前线程,腾出CPU,让给其他线程 4.sleep的异常注意事项,以及中断休眠的一种方式及其注意点