Java sleep()和wait()有什么区别

原创 2016年05月31日 06:45:15
sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级,(b)正在运行的线程因为其它原因而阻塞。

wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
版权声明:本文为芝麻软件工作室原创文章,未经芝麻软件工作室允许不得转载。

Java常见面试题

1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。 sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还...
  • shineflowers
  • shineflowers
  • 2014年10月13日 16:41
  • 44903

java 中的 wait()方法和 sleep()方法的区别

sleep()和wait()的区别 Java中的多线程是一种抢占式的机制而不是分时机制。线程主要有以下几种状态:可运行,运行,阻塞,死亡。抢占式机制指的是有多个线程处于可运行状态,但是只...
  • liuguangqiang
  • liuguangqiang
  • 2015年10月16日 16:23
  • 7693

sleep和wait有什么区别

1、这两个方法来自不同的类分别是Thread和Object   2、最主要是sleep方法没有释放锁,而 wait 方法释放了锁,使得其他线程可以使用同步控制块或者方法。   3、wait...
  • xusongsong520
  • xusongsong520
  • 2013年02月22日 13:50
  • 12865

sleep()和wait()线程控制方法的区别

1、这两个方法来自不同的类分别是Thread和Object   2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。   3、wait,n...
  • u011587361
  • u011587361
  • 2015年08月17日 11:00
  • 535

线程中sleep()和wait()的区别

Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是实际运行过程中,只有一个线程可以优先运行。 共同点:  1、他们都是在多线程的环境下,都可以在程序...
  • u014704415
  • u014704415
  • 2016年06月08日 10:58
  • 2662

JAVA中sleep() 和 wait() 有什么区别?

(网上的答案:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,将执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 wait是Object...
  • s2940086379
  • s2940086379
  • 2015年07月02日 00:33
  • 633

深入理解Java多线程中的wait(),notify()和sleep()

大家在学习Java的过程中,势必要进行多线程的系统学习,这部分内容知识对于你在工作中的影响是极大的,并且在面试的过程中,这部分知识也是必然会被问到的。既然多线程的知识如此重要,那么我们就不能浅尝辄止。...
  • Kaka534
  • Kaka534
  • 2016年07月07日 10:41
  • 11964

java 中的sleep()和wait() 等的区别和详解

1、sleep()  使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该...
  • u011974987
  • u011974987
  • 2016年11月08日 22:48
  • 1757

sleep和wait区别以及线程池简单实现示例

一、sleep和wait的主要区别:     1、这两个方法来自不同的类分别是Thread和Object     2、最主要是sleep方法没有释放锁,而 wait 方法释放了锁,使得其他线程可以...
  • xybelieve1990
  • xybelieve1990
  • 2016年03月07日 11:49
  • 1802

sleep()和 wait()有什么区别

sleep 就是正在执行的线程主动让出cpu,cpu去执行其他线程,在sleep 指定的时间过后,cpu才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep方法并不会释放锁,即使当前线...
  • ytlcainiao
  • ytlcainiao
  • 2015年04月05日 13:15
  • 377
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java sleep()和wait()有什么区别
举报原因:
原因补充:

(最多只允许输入30个字)