`

java线程学习之Thread.sleep() 和 Thread.yield() 区别

    博客分类:
  • java
阅读更多
Thread.sleep() 和 Thread.yield() 区别

1. Thread.yield():
    api中解释: 暂停当前正在执行的线程对象,并执行其他线程。
    注意:这里的其他也包含当前线程,所以会出现1212以下结果。
public class Test extends Thread {   
  public static void main(String[] args) {   
    for (int i = 1; i <= 2; i++) {   
      new Test().start();   
    }   
  }   
  
  public void run() {   
    System.out.print("1");   
    Thread.yield();   //如果没有这句,输出结果一定是1212
    System.out.print("2");   
  }   
}  
    输出结果: 1122或者1212

2. Thread.sleep(long millis):
     解释:使当前线程暂停millis所指定的毫秒,转到执行其它线程。

分享到:
评论
1 楼 SSB4455 2013-11-04  
嗯 应该是这样

相关推荐

    Java线程学习和总结

    Java提供了一些方法来控制线程状态,如`sleep()`使线程暂停执行一段时间,`join()`等待指定线程结束,`yield()`让当前线程暂停,让其他相同优先级的线程有机会执行,`interrupt()`用于中断线程。 同步是Java线程...

    Java线程中wait,await,sleep,yield,join用法总结.pdf

    本文将总结五个关键的线程控制方法:wait()、await()、sleep()、yield()和join()。这些方法各自有独特的用途和不同的工作机制。 一、wait()、notify()、notifyAll()用法 wait()、notify()和notifyAll()是Object类...

    Java Thread Programming

    Java提供了多种线程控制方法,如start()用于启动线程,run()是线程的主要执行体,join()使当前线程等待该线程终止,sleep()使线程暂停执行一段时间,yield()让当前线程暂停,让其他线程有机会运行,synchronized...

    多线程sleep,yield,wait区别

    `sleep`, `yield`, 和 `wait` 是 Java 中用于线程管理的三个重要方法,它们各自有着不同的功能和用途。理解它们的区别有助于编写出更加高效和可控的多线程程序。 1. **sleep() 方法** - `Thread.sleep(millisecond...

    JAVA多线程共13页.pdf.zip

    4. **线程控制**:Java提供了多种控制线程的方式,如sleep()使线程休眠,yield()让当前线程放弃CPU使用权,interrupt()中断线程,以及synchronized关键字实现线程同步。 5. **线程同步**:Java通过`synchronized`...

    javathread.part05.rar

    Java提供了丰富的线程控制方法,如`start()`启动线程,`sleep()`使线程暂停一段时间,`join()`让当前线程等待指定线程结束,`yield()`让当前线程让出CPU执行权,以及`interrupt()`中断线程等。 Java还提供了同步...

    Java-for-thread.zip_java 线程

    - **线程控制**:包括`sleep()`, `join()`, `yield()`, `interrupt()`, `isInterrupted()`, `InterruptedException`等方法,用于控制线程的执行顺序和中断。 4. **多线程的互斥与同步** - **互斥**:同一时间只...

    javathread.part104.rar

    以上只是部分Java线程编程的核心知识点,`javathread.part104.rar`中可能还会包含更多高级主题,如线程池的配置与优化、线程通信(例如`join()`, `Thread.sleep()`, `yield()`)以及并发工具类的深入探讨。通过学习...

    Java线程培训资料

    ### Java线程培训资料知识点详解 #### 一、Java线程基本概念 ...通过以上知识点的学习,可以深入理解Java线程的基本概念、API使用以及Concurrent包中的高级特性,这对于开发高效、稳定的多线程应用程序至关重要。

    JAVA多线程PPT教案学习.pptx

    Java多线程是Java编程中的重要概念,它允许在单个程序中同时执行多个任务,提高了应用程序的效率和响应速度。在Java中,线程被看作是CPU时间片的执行单元,它们共享同一个地址空间,能高效地交换数据。 线程具有...

    JavaThread.pdf

    - Thread.sleep()使当前线程休眠指定的毫秒数,Thread.yield()则是让当前线程让步,给其他线程运行的机会。 - Thread.dumpStack()打印当前线程的堆栈跟踪,join()方法等待线程终止。 9. **监控和调试** - Thread...

    java中的线程使用.pdf

    Java中的线程使用主要涉及到java.lang.Thread类和java.lang.Runnable接口。 Thread类是实现线程的直接方式,它实现了Runnable接口。开发者可以通过继承Thread类并重写其run方法来定义线程要执行的任务。一旦创建...

    JAVA-JavaThreadProgramming-Sams.zip_JAVA 设计_java 多线程_java 线程_多线程

    Java通过`java.lang.Thread`类和`java.util.concurrent`包提供了丰富的线程支持。创建线程有两种主要方式:继承Thread类和实现Runnable接口。继承Thread类直接复写run()方法,而实现Runnable接口则需要将run()方法...

    Java线程.ppt

    `sleep()`方法让线程进入堵塞状态,`join()`方法等待线程执行完成,`yield()`方法让当前线程让出CPU,`stop()`方法停止线程(不推荐使用,因为可能引起数据不一致),`interrupt()`方法中断线程,以及`wait()`和`...

    java多线程编程总结.pdf

    - **线程让步**:`Thread.yield()`方法让当前线程放弃CPU使用权,但不保证何时重新获得。 - **守护线程**:`setDaemon(true)`将线程设置为守护线程,当所有非守护线程结束后,守护线程也会结束。 6. **并发协作**...

    java_Thread.rar_java 多线程_java多线程

    Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,从而提高系统资源的利用率和程序的...通过"java_Thread.txt"这样的实例学习,可以帮助我们更好地理解和应用Java的多线程特性,提升我们的编程能力。

    07 深入Thread类—线程API精讲.pdf

    总的来说,`Thread.sleep`和`Thread.yield`都是线程控制的手段,它们帮助开发者在并发环境中更好地管理线程的执行顺序和资源分配,以实现更高效的并发程序。理解并熟练运用这些方法对于编写高并发性能的Java程序至关...

    java线程安全总结.pdf

    Java线程安全是多线程编程中的一个核心概念,它涉及到在并发环境下如何正确地管理共享资源,确保程序的正确性和一致性。Java提供了一系列机制来处理线程安全问题,包括同步机制、线程局部变量、并发工具类等。以下是...

    javathread.part01.rar

    Java Thread类是线程的核心,它提供了用于创建、控制和管理线程的方法。 1. **线程的创建方式** - 继承Thread类:创建一个新的类,该类继承自Thread类,并重写它的run()方法。然后创建该类的实例并调用start()方法...

    java高清关于线程的讲解实例.rar

    此外,还有Thread.sleep()使当前线程暂停执行一段时间,以及Thread.yield()让当前线程放弃CPU资源,让其他线程有机会执行。 线程安全是多线程编程中必须考虑的问题。Java提供了一些线程安全的数据结构,如...

Global site tag (gtag.js) - Google Analytics