sleep和write的区别
来源:互联网 发布:锁屏也能抢红包的软件 编辑:程序博客网 时间:2024/06/06 12:52
sleep 和 write区别
这两个的方法来自不同的类分别是 sleeep来自与 Thread类 Write来自Object类
sleep 是Thread的静态方法谁调用睡去睡觉即使 a线程调用了b线程的sleep方法实际上还是a线程睡觉要让b线程睡觉只用在b的代码中调用sleep
最主要是sleep方法没有释放锁而 wait方法释放了锁
wait notify notifyAll 她们都是定义在Object中的
都使用在同步中因为要对持有锁的线程操作
所以要使用在同步中因为只有同步中才有锁
wait和sleep区别: 分析这两个方法:从执行权和锁上来分析:
wait:可以指定时间也可以不指定时间。不指定时间,只能由对应的notify或者notifyAll来唤醒。
sleep:必须指定时间,时间到自动从冻结状态转成运行状态(临时阻塞状态)。
wait:线程会释放执行权,而且线程会释放锁。
Sleep:线程会释放执行权,但不是不释放锁。
可以调用interrupt()方法 让wait的线程或sleep的线程获取执行权 但是会产生InterruptException异常
interrupt():中断线程。
setPriority(int newPriority):更改线程的优先级。
getPriority():返回线程的优先级。
toString():返回该线程的字符串表示形式,包括线程名称、优先级和线程组。
Thread.yield():暂停当前正在执行的线程对象,并执行其他线程。
setDaemon(true):将该线程标记为守护线程或用户线程。将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时,Java 虚拟机退出。该方法必须在启动线程前调用。
join:临时加入一个线程的时候可以使用join方法。
当A线程执行到了B线程的join方式。A线程处于冻结状态,释放了执行权,B开始执行。A什么时候执行呢?只有当B线程运行结束后,A才从冻结状态恢复运行状态执行。
- sleep和write的区别
- Sleep(0)和Sleep(1)的区别
- SystemClock.sleep和Thread.sleep的区别
- SystemClock.sleep和Thread.sleep的区别
- Write-Through和Write-Back的区别
- Channel.write() 和 ChannelHandlerContext.write() 的区别
- sleep() 和 wait() 的区别
- wait()和sleep()的区别
- sleep和wait的区别
- sleep() 和 wait() 的区别
- sleep和wait的区别
- sleep和wait的区别
- wait和sleep的区别
- sleep和wait的区别
- wait()和sleep()的区别
- sleep()和wait()的区别
- wait()和sleep()的区别
- Sleep()和wait()的区别?
- 羚羊与狮子
- Struts2-Download
- java在线支付---05_在线支付_编写用于准备请求数据的Servlet
- Memcached提升Web数据操作读写性能
- 项目文件或网站已移动或已重命名,或者不在您的计算机上
- sleep和write的区别
- HDOJ/HDU 2141 Can you find it? 二分搜索优化
- PHP缩小png图片,保留透明色方法
- 我的第二轮进攻开始了
- 人类无法抗拒的10种心理
- poj 1562 Oil Deposits(迷宫)
- java在线支付---06,07,08_在线支付_编写将数据提交给易宝支付的JSP页面,集成和测试向易宝发送支付请求,实现浏览器自动向易宝发送支付请求
- maven的安装
- linux内核-内存管理(上)