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

企业微网站网上销售培训课程

企业微网站,网上销售培训课程,国内外贸平台有哪些,大企业网站建设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.cadmedia.cn/news/16050.html

相关文章:

  • 营销类型网站怎么建设百度品牌广告是什么
  • 娄底企业网站建设公司推广seo是什么意思
  • 网页设计类网站seo关键词优化的技巧和方法
  • 无锡市政府网站建设评估seo是一种利用搜索引擎的
  • 深圳做网站报价百度搜索风云榜手机版
  • 公司注册域名需要哪些条件百度推广seo自学
  • eclipse开发微网站开发保定百度首页优化
  • 政府移动门户网站建设江北关键词优化排名seo
  • 靠谱网站建设公司价格seo关键词排名
  • 郑州好的企业网站建设计算机培训班培训费用
  • 个人网站的建设与管理市场推广计划怎么写
  • 网站建设有关图片站长之家怎么用
  • 深圳找工作用什么招聘网seo教学
  • 黄页引流推广网站软件免费企业网站优化价格
  • 网站开发创业广告代理
  • 网站权重一般有几个等级谷歌浏览器下载安卓版
  • 超变攻速传奇一秒20刀合肥网络公司seo建站
  • flash做ppt的模板下载网站有哪些百度推广开户费用多少
  • 芯港小镇建设管理中心网站做小程序要多少钱
  • 安徽政府网站建设论文职业技术培训
  • 个人制作网站多少钱国际时事新闻2022最新
  • h5制作小程序有哪些芜湖seo
  • 手机信息分类网站制作模板建站优点
  • 注册公司需要钱吗?多少费用搜索引擎优化解释
  • 中国商标自助查询广州seo推广
  • 中小企业网站建设需要注意什么网上推广专员是什么意思
  • 公司官网用什么建站程序软文营销的技巧
  • 找第三方做网站 需要注意网站的推广优化
  • 多媒体设计制作公司北京榆林市网站seo
  • 常用网站开发软件6腾讯中国联通