java的sleep()和wait()

比如有两个线程t1和t2,t1处于wait状态当t1被notify的时候t1是立马执行还是开始与t2竞争资源?sleep呢... 比如有两个线程 t1和t2 ,
t1处于wait状态
当t1被notify的时候
t1是立马执行 还是开始与t2竞争资源?

sleep呢
展开
 我来答
emdgp38
推荐于2016-05-28 · TA获得超过1826个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:391万
展开全部
wait()、notify()、notifyAll()这三个方法是Object中的方法,跟锁类似。
当t1没有获取这个object时wait,其他线程释放object后叫notify,然后t1立即继续执行。

sleep()跟上面这三个不一样,是Thread中的方法,不需要等待资源被释放,sleep有一个时间传参,想让线程等待多会儿就等待多会儿,不需要其他线程唤醒。例如:
try{
t1.sleep(1000); //t1等待1秒后继续执行下面的内容
}catch(Exception e){}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ganhuanxp
2011-03-31 · TA获得超过363个赞
知道小有建树答主
回答量:259
采纳率:0%
帮助的人:266万
展开全部
t1被notify了,也不会马上执行,甚至不会执行(因为还有其他的运行条件未满足,例如IO阻塞等),即使所有的条件都满足了,这只是代表t1进入了就绪状态,可以运行了,但是还要依赖于操作系统对CPU的分配,这存在很大的不确定性,记住:无人能确定何时能运行,千万不要妄图猜测。
t1都处于wait了,线程已经被挂起,sleep还有什么用呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小傻

推荐于2016-09-01 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
Java多线程中Sleep与Wait的区别
共同点:
1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。
2. wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException。
如果线程A希望立即结束线程B,则可以对线程B对应的Thread实例调用interrupt方法。如果此刻线程B正在wait/sleep/join,则线程B会立刻抛出InterruptedException,在catch() {} 中直接return即可安全地结束线程。
需要注意的是,InterruptedException是线程自己从内部抛出的,并不是interrupt()方法抛出的。对某一线程调用 interrupt()时,如果该线程正在执行普通的代码,那么该线程根本就不会抛出InterruptedException。但是,一旦该线程进入到 wait()/sleep()/join()后,就会立刻抛出InterruptedException 。
不同点:
1. Thread类的方法:sleep(),yield()等
Object的方法:wait()和notify()等
2. 每个对象都有一个锁来控制同步访问。Synchronized关键字可以和对象的锁交互,来实现线程的同步。
sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
3. wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用
4. sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qicailiying
2011-03-31 · TA获得超过664个赞
知道小有建树答主
回答量:295
采纳率:0%
帮助的人:243万
展开全部
这个要你学过操作系统的进程管理才可以说得清楚的,
但可以跟你说,当t1被notify的时候,t2就会sleep,然后就是t1开始执行

网上有很多视频教程,你搜几个来看一下吧,我就不贴出来了。免得被人说是卖广告
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式