文档章节

wait()和sleep的区别

7_0
 7_0
发布于 2013/03/10 16:58
字数 314
阅读 87
收藏 1

sleep就是正在执行的线程主动让出cpu让其他线程执行,等到sleep()指定的时间之后,cpu会回到这个线程上继续执行。如果当前线程进入了同步锁,sleep方法并不会释放同步锁,这样会导致其他被同步锁挡住的线程也无法执行。

wait()是指一个已经进入了同步锁的线程,让自己暂时让出同步锁,让其他线程打得到此同步锁继续运行,只有线程调用了notify方法,才会解除调用了wait()方法的线程。让线程去竞争同步锁继续向下执行。

大概就是说:sleep()睡觉,睡到一定时间后自己就会醒了。如果它睡觉之前拿着钥匙的,它不会丢给别人,会等到睡醒了之后继续用,后面需要钥匙的人就不能进去有锁的房间。

                wait()  等待。等待的时候会把钥匙丢出去,让需要这把钥匙的人拿着这个钥匙继续向下执行,但是需要有人去叫醒他,就是调用nofity() 方法,才会解除这个线程的等待,继续行下执行。

© 著作权归作者所有

上一篇: 初学coldfusion(1)
7_0

7_0

粉丝 2
博文 21
码字总数 4097
作品 0
南岸
程序员
私信 提问
java中sleep和wait的区别

最近在看java的东西。看到了java多线程,注意到sleep和wait,不太清楚它们之间的区别,便在网上找了下,做下记录; 第一种解释: 功能差不多,都用来进行线程控制,他们最大本质的区别是:slee...

dapengking
2013/09/04
892
0
sleep( ) 和 wait( ) 的这 5 个区别,你知道几个?

sleep(休眠) 和 wait(等待) 方法是 Java 多线程中常用的两个方法,它们有什么区别及一些该注意的地方有哪些呢?下面给大家一一分解。 区别1:使用限制 使用 sleep 方法可以让让当前线程休眠,...

Java技术栈
2018/09/19
0
0
Java中sleep()与wait()的区别

第一种解释: 功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩. 还有用法的上的不同是:sleep(milliseconds)可以用时间指定来使他自动醒过来,如果...

今幕明
2014/03/08
173
0
sleep和wait有什么区别

第一种解释: 功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩. 还有用法的上的不同是:sleep(milliseconds)可以用时间指定来使他自动醒过来,如果...

天王盖地虎626
2018/12/24
20
0
java中sleep与wait方法研究探讨

1.sleep与wait方法的区别 其实最本质的区别的sleep不释放锁,而wait释放锁。示例: Java代码 收藏代码 如果将test1和test2里面的sleep(500)换成wait(500),结果就如下: 2.扩充阅读  Java ...

双月通天
2016/05/30
72
0

没有更多内容

加载失败,请刷新页面

加载更多

Error和Exception

1.Error类和Exception类都是继承Throwable类 2.Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问...

大瑞清_liurq
28分钟前
4
0
8086汇编基础 start 程序入口标签的示例

    IDE : Masm for Windows 集成实验环境 2015     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   ......

志成就
34分钟前
4
0
uni app 零基础小白到项目实战2

<template> <scroll-view v-for="(card, index) in list" :key="index"> <view v-for =(item, itemIndex) in card"> {{item.value}}</view> </scroll-view></template> GraceUi va......

达达前端小酒馆
34分钟前
4
0
http keep-alive 解释

本文转载于:专业的前端网站➜http keep-alive 解释 1、概念 keep-alive示例: keep-alive模式(又称持久连接、连接重用)时,keep-alive功能使客户端到服务器端的连接持续有效,当出现对服务...

前端老手
40分钟前
4
0
groovy爬虫实例——历史上的今天

最近做了一个历史上今天的爬虫程序,跟历史天气数据源一致,数据量比较小,几十秒就爬完了。中间遇到一些问题,一起分享出来供大家参考。本项目源码和相关数据已经上传到了github,有兴趣的朋...

八音弦
49分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部