当前位置: 首页 > wzjs >正文

找人做软件网站南宁手机平台网站建设

找人做软件网站,南宁手机平台网站建设,网站开发作品,wordpress 写作1. Thread.sleep() 所属类:它是Thread类的静态方法。作用:让当前正在执行的线程暂停指定的时间,在暂停期间,线程会一直持有对象锁(也就是synchronized锁)。中断响应:当线程处于sleep()状态时&a…

1. Thread.sleep()

  • 所属类:它是Thread类的静态方法。
  • 作用:让当前正在执行的线程暂停指定的时间,在暂停期间,线程会一直持有对象锁(也就是synchronized锁)。
  • 中断响应:当线程处于sleep()状态时,如果被其他线程中断(调用interrupt()方法),线程会立刻抛出InterruptedException,同时会清除中断状态
  • 代码示例
    public class SleepTest {public static void main(String[] args) {Thread t = new Thread(() -> {try {System.out.println("线程开始休眠");Thread.sleep(5000); // 休眠5秒System.out.println("线程休眠结束");} catch (InterruptedException e) {System.out.println("线程休眠被中断: " + e.getMessage());Thread.currentThread().interrupt(); // 重新设置中断状态}});t.start();// 2秒后中断线程try {System.out.println("主线程休眠");Thread.sleep(2000);} catch (InterruptedException e) {}t.interrupt();}
    }
    
  • 输出结果
    主线程休眠
    线程开始休眠
    线程休眠被中断: sleep interrupted
    

2. Object.wait()

  • 所属类:它是Object类的实例方法。
  • 作用:使当前线程释放对象锁,并进入该对象的等待池,直到其他线程调用相同对象的notify()notifyAll()方法。
  • 中断响应:当线程处于wait()状态时,如果被其他线程中断,线程会立刻抛出InterruptedException,同时会释放对象锁并清除中断状态。
  • 代码示例
    public class WaitTest {private static final Object lock = new Object();public static void main(String[] args) {Thread t = new Thread(() -> {synchronized (lock) {try {System.out.println("线程开始等待");lock.wait(); // 等待其他线程唤醒System.out.println("线程等待结束");} catch (InterruptedException e) {System.out.println("线程等待被中断: " + e.getMessage());Thread.currentThread().interrupt(); // 重新设置中断状态}}});t.start();// 2秒后中断线程try {System.out.println("主线程休眠");Thread.sleep(2000);} catch (InterruptedException e) {}t.interrupt();}}
    
  • 输出结果
    主线程休眠
    线程开始等待
    线程等待被中断: wait interrupted
    

3. 核心区别

对比项Thread.sleep()Object.wait()
锁的释放不释放对象锁释放对象锁
唤醒方式时间结束自动唤醒或被中断必须由其他线程调用notify()/notifyAll()唤醒或被中断
使用场景线程暂时休眠线程间的协作与通信
同步块要求不需要在synchronized块中调用必须在synchronized块中调用

4. 注意事项

  • 中断处理:一旦捕获到InterruptedException,要根据实际需求处理中断,比如终止线程或者恢复执行。
  • 锁的管理wait()在释放锁后,需要重新获取锁才能继续执行后续代码。
  • 线程状态sleep()会使线程进入TIMED_WAITING状态,而wait()可能让线程进入WAITINGTIMED_WAITING状态。

总之,sleep()主要用于线程的短暂暂停,不释放对象锁,而wait()则用于线程间的交互,会释放对象锁。在中断处理方面,两者都会抛出异常,但wait()还会释放对象锁。

 

http://www.dtcms.com/wzjs/581687.html

相关文章:

  • 如何在网站上做免费广告长春哪里做网站好
  • 做电影网站主机放哪比较好深投建设深圳有限公司
  • 东莞网络销售的网站建设互联网公司 哪个部门负责网站建设
  • 南通单位网站建设专业seo服务
  • 备案 手机网站公司网站的建设怎么做
  • 竖导航网站鸿蒙系统ui设计规范
  • 河北平台网站建设推荐wordpress积分兑换
  • 购物网站主页设计图银川网站建设哪家价格低
  • 北京旅游型网站建设大同网站建设熊掌号
  • asp网站代码 部分封装浦东注册公司流程和费用
  • 用服务器ip做网站ios开发者模式
  • 建设环保网站查询系统学平面设计需要准备什么东西
  • 网站建设大作业论文商业网站建设平台
  • 免费注册的网站广东省建设工程网站
  • 如何在八戒网便宜做网站wordpress 泛解析
  • wordpress数据量大网站访问我有网网站建设
  • 那个网站做logo兼职安装wordpress404
  • 建网站用什么软件好房地产销售自我介绍
  • 一个网站做两个优化可以做吗周口哪里有做网站的
  • 资料查询网站怎么做网页制作平台
  • 做网站的软件是什么宁波注册公司需要多少钱
  • 简述网站推广的方式joomla 网站 html 空
  • 网站地图样本视频直播源码
  • 做venn图的网站免费的网页设计成品资源
  • 苏州招聘网站开发排名优化公司口碑哪家好
  • 花钱让别人做的网站版权是谁的东营做网站seo
  • 香奈儿网站建设seo公司发展前景
  • 做网站所需要的资质可以全部免费观看的平台
  • 网站突然不收录2017wordpress主题出错
  • 网站建设与管理专业课程怎么做自己的网站