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

电商网站建设与运营方向互联网舆情监测系统

电商网站建设与运营方向,互联网舆情监测系统,怎么更改网站备案信息吗,大连网站制作代理价格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/93021.html

相关文章:

  • 做技术分享网站 盈利即时热榜
  • 微信做淘宝客网站有哪些东莞百度seo新网站快速排名
  • 手机app怎么开发的google seo是什么
  • 什么是网站后台企业网站有哪些功能
  • 桐梓网站开发最新热搜新闻
  • 甘肃省城乡建设网站如何做网络推广人员
  • 如何做收费视频互动网站快速seo优化
  • 亦庄建设局网站社交网络推广方法
  • 网站建设与开发给我免费的视频在线观看
  • 苹果软件做ppt模板下载网站2022重大时政热点事件简短
  • 临海市住房和城乡建设规划局网站seo站长工具下载
  • 用phython做网站线上推广哪个平台最好
  • 网站建设 菜鸟教程seo网络排名优化哪家好
  • 手机做网站的步骤网站推广专家
  • 聊城网站建设品牌怎么开网站平台挣钱
  • 冠县哪做网站产品推广方案范文500字
  • 湖北seo排名诊断搜索引擎关键词优化
  • 一个网站如何做盈利网络营销期末总结
  • 做全英文网站网站怎么优化自己免费
  • 用服务器ip做网站域名app推广公司怎么对接业务
  • 宿迁网站定制电商运营主要负责什么
  • 视频链接生成网站免费推广方法有哪些
  • wordpress 爆破贵阳seo网站推广
  • wordpress 去除html优化大师手机版下载
  • 网站内链怎么做更好单页网站制作
  • wordpress 的论坛模板安阳企业网站优化外包
  • 甘肃省住房和城乡建设部网站2024年3月新冠高峰
  • 网站建设团队架构大兵seo博客
  • 海南最新情况最新消息今天全达seo
  • 网站优化时间网站推广优化排名公司