`

Java线程:线程的调度-让步

 
阅读更多
Java线程:线程的调度-让步
 
线程的让步含义就是使当前运行着线程让出CPU资源,但是然给谁不知道,仅仅是让出,线程状态回到可运行状态。
 
线程的让步使用Thread.yield()方法,yield() 为静态方法,功能是暂停当前正在执行的线程对象,并执行其他线程。
 
/** 
* Java线程:线程的调度-让步 

* @author leizhimin 2009-11-4 9:02:40 
*/
 
public class Test { 
        public static void main(String[] args) { 
                Thread t1 = new MyThread1(); 
                Thread t2 = new Thread(new MyRunnable()); 

                t2.start(); 
                t1.start(); 
        } 


class MyThread1 extends Thread { 
        public void run() { 
                for (int i = 0; i < 10; i++) { 
                        System.out.println("线程1第" + i + "次执行!"); 
                } 
        } 


class MyRunnable implements Runnable { 
        public void run() { 
                for (int i = 0; i < 10; i++) { 
                        System.out.println("线程2第" + i + "次执行!"); 
                        Thread.yield(); 
                } 
        } 
}
 
线程2第0次执行! 
线程2第1次执行! 
线程2第2次执行! 
线程2第3次执行! 
线程1第0次执行! 
线程1第1次执行! 
线程1第2次执行! 
线程1第3次执行! 
线程1第4次执行! 
线程1第5次执行! 
线程1第6次执行! 
线程1第7次执行! 
线程1第8次执行! 
线程1第9次执行! 
线程2第4次执行! 
线程2第5次执行! 
线程2第6次执行! 
线程2第7次执行! 
线程2第8次执行! 
线程2第9次执行! 

Process finished with exit code 0
分享到:
评论

相关推荐

    Java多线程编程总结

    Java线程:线程的调度-让步 Java线程:线程的调度-合并 Java线程:线程的调度-守护线程 Java线程:线程的同步-同步方法 Java线程:线程的同步-同步块 Java线程:并发协作-生产者消费者模型 Java线程:并发协作-死锁...

    Java多线程

    Java中的线程调度策略涉及优先级、让步、合并等概念。线程的优先级会影响线程获取CPU的时间片,但并不是绝对的。 #### 八、Java线程:线程的同步-同步方法与同步块 Java中可以通过定义同步方法或使用同步块来实现...

    Java多线程运算集合

    - Java线程调度主要依赖于操作系统的调度机制。 - 线程的优先级、让步(`yield`)、休眠(`sleep`)等方法可以影响线程的执行顺序。 - 守护线程(`Daemon Thread`)是一种特殊的线程类型,它们主要用于后台服务,如垃圾...

    Java_多线程编程线程:大总结

    - **线程调度**:包括休眠、优先级调整、线程让步、合并线程以及守护线程的概念。 - **并发协作**:深入探讨了生产者-消费者模型和死锁问题,提供了理解和避免死锁的策略。 - **新特征**:Java 5引入的并发工具,如`...

    JAVA多线程总结

    本篇总结涵盖了Java多线程的基础概念、创建与启动、线程调度、同步与协作以及新特性。 **一、Java线程:概念与原理** 1. **线程与进程**: - **进程**:是操作系统资源分配的基本单位,每个进程都有独立的内存...

    7Java第七单元练习题-Java多线程机制[参考].pdf

    - 在Java中可以通过设置线程的优先级来指定线程调度的优先顺序,优先级用数字表示,范围从1到10,其中10为最高优先级。 9. 线程的异常处理: - 在多线程程序中,如果线程抛出了未捕获的异常,该线程会终止,但...

    java中的线程让步例子.

    优先级高的线程在调度时理论上会得到更多执行机会,但Java的线程调度策略可能会使这种优先级关系变得复杂,尤其是在多处理器系统上。 总之,线程让步是Java多线程编程中的一种协作机制,通过`Thread.yield()`方法...

    java 线程让步(Yield)

    Java线程让步(Yield)是Java多线程编程中的一个重要概念,它涉及到线程调度和并发控制。在多线程环境下,线程让步意味着一个正在运行的线程主动放弃当前的时间片,以便其他就绪状态的线程有机会执行。这与线程的...

    Java线程让步_动力节点Java学院整理

    总结来说,Java线程让步是一种优化多线程环境下的并发策略,但其效果依赖于线程调度器的行为,不保证线程的执行顺序。开发者在设计多线程程序时应谨慎使用`yield()`,并结合其他同步和通信机制如`synchronized`、`...

    java多线程.

    4. **线程调度**:操作系统负责线程调度,决定哪些线程可以获取CPU时间片并执行。 5. **线程同步与互斥**:当多个线程访问共享资源时,为了防止数据不一致,需要采用同步机制,例如使用`synchronized`关键字或者显式...

    java线程文档大全

    2. **线程创建**:Java提供两种方式创建线程,一是直接继承Thread类并重写run()方法,二是实现Runnable接口并定义run()方法,然后通过Thread类的构造函数将Runnable对象传递进去。 3. **线程交互**:线程之间的通信...

    Java 线程总结

    6. **线程调度**: - 包括线程的休眠(`Thread.sleep()`)、优先级(`Thread.setPriority()`)、让步(`Thread.yield()`)、合并(线程间的协作)以及守护线程(`Thread.setDaemon(true)`),守护线程通常用于为...

    java多线程编程总结.pdf

    5. **线程调度**: - **线程优先级**:Java中的线程有1-10的优先级,但实际调度效果依赖于操作系统。 - **线程休眠**:`Thread.sleep()`方法让当前线程暂停指定时间。 - **线程让步**:`Thread.yield()`方法让...

Global site tag (gtag.js) - Google Analytics