java中的sleep()和wait()的区别

2023-11-02

对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。

sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。

在调用sleep()方法的过程中,线程不会释放对象锁。

而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备

获取对象锁进入运行状态。




https://www.cnblogs.com/hongten/p/hongten_java_sleep_wait.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中的sleep()和wait()的区别 的相关文章

  • Docker 镜像可以在 Intel mac 上运行,但不能在 M1 mac 上运行

    我们有一个在 Docker 容器中运行的 Java Spring Boot 应用程序 它基于 openjdk 13 jdk alpine 我们将其部署到 Linux 计算机上 但我们也可以在 Windows 计算机以及基于 Intel 的
  • 当JVM执行Java应用程序时,操作系统的作用是什么?为什么我们需要操作系统?

    我在网上读过一些资料 有人说Java应用程序是由java虚拟机 JVM 执行的 执行 这个词让我有点困惑 据我所知 非Java应用程序 即 用C C 编写 可以由操作系统执行 在较低级别 这意味着操作系统将二进制程序加载到内存中 然后指示C
  • 为什么通用列表的声明存在差异?

    我想声明两个列表 首先是一个整数列表 我将其声明为 List
  • 非线性条件断点

    是否可以设置断点 使程序在指令满足某些条件后停止执行true 一个类有一个名为的变量currency我想设置一个断点 使程序在之后的任何行停止currency 20 我不知道行号在哪里currency已更改 因此这就像在其中放置一个断点每行
  • Neo4j cpu 卡在 GC 上

    突然间 工作了一个月后 CPU 几乎没有使用 1 到 5 之间 neo4j 服务器在垃圾收集时 cpu 占用率达到 100 我在 ubuntu 4 处理器服务器上运行 neo4j entherprise 2 0 3 未嵌入 这是我的 neo
  • Docker 容器中运行的 JVM 的驻留集大小 (RSS) 和 Java 总提交内存 (NMT) 之间的差异

    设想 我有一个 JVM 在 Docker 容器中运行 我使用两种工具进行了一些内存分析 1 top 2 Java 本机内存跟踪 这些数字看起来令人困惑 我正在尝试找出造成差异的原因 问题 Java 进程的 RSS 报告为 1272MB 总
  • 无法识别的选项: - 无法创建 Java 虚拟机

    我正在尝试运行我的 jarLinux 服务器上的文件 这些是我正在运行的命令 JAVA HOME app local opt jdk packages jdk1 6 0 30 export PATH JAVA HOME bin PATH c
  • 在最近的 JVM 中,不可见引用仍然是一个问题吗?

    我正在读书Java 平台性能 http java sun com docs books performance 1st edition html JPAppGC fm html 遗憾的是 自从我最初提出这个问题以来 该链接似乎已经从互联网上
  • 如果只有完全限定名称,如何获取 java 类的二进制名称?

    反射类和方法以及类加载器等需要使用所谓的 二进制 类名称 问题是 如果只有完全限定名称 即在源代码中使用的名称 如何获得二进制名称 例如 package frege public static class RT public static
  • 内存中的方法表示是什么?

    在思考一下 Java C 编程时 我想知道属于对象的方法如何在内存中表示 以及这一事实如何涉及多线程 是为内存中的每个对象单独实例化一个方法还是执行 同一类型的所有对象共享该方法的一个实例 如果是后者 执行线程如何知道哪个对象是 要使用的属
  • 使用 + 符号连接字符串

    今天我在读书Antonio 关于 toString 性能的博客 https antoniogoncalves org 2015 06 30 who cares about tostring performance 还有一段话 昨天曾经被认为
  • 当 Java 中的集合超出容量时会发生什么?

    我有一个服务 它将所有对其进行的调用暂存在内存中 因为我们不想丢失数据 同时我们需要该服务因任何外部依赖项 例如数据库 而失败 然后 这些分阶段的调用会在后台例行接收和处理 如果出于任何原因 如果调用太多并且内存不足 我们就需要警惕 所以
  • 我的代码中出现内存不足异常

    作为 Oracle 数据库压力测试的一部分 我正在长时间运行代码并使用 java 版本 1 4 2 简而言之 我正在做的是 while true Allocating some memory as a blob byte data new
  • 如何减少Scala中创建的对象数量?

    我正在 Scala 中编写一个计算机图形应用程序 它使用 RGB 类返回图像中某个点的颜色 正如你可以想象的 返回颜色 RGB 对象的函数被调用了很多次 class RGB val red Int val green Int val blu
  • 什么触发了java垃圾收集器

    我对 Java 中垃圾收集的工作原理有点困惑 我知道当不再有对某个对象的实时引用时 该对象就有资格进行垃圾回收 但是如果它有对实时对象的引用怎么办 可以说我有一个节点集合 它们再次引用更多节点 List 1 gt Node a gt Nod
  • JVM 是否会内联对象的实例变量和方法?

    假设我有一个非常紧密的内部循环 每次迭代都会访问和改变一个簿记对象 该对象存储有关算法的一些简单数据 并具有用于操作它的简单逻辑 簿记对象是私有的和最终的 并且它的所有方法都是私有的 最终的和 inline 下面是一个示例 Scala 语法
  • Scala 中的多个类型下限

    我注意到tuple productIterator总是返回一个Iterator Any 想知道是否无法设置多个下限 因此它可能是最低公共超类型的迭代器 我尝试并搜索了一下 但只发现this https stackoverflow com q
  • jvm 如何以及何时何地更改 Linux 的最大打开文件值?

    在linux中 每个登录用户的每个进程的最大打开文件数有限制 如下所示 ulimit n 1024 当我学习java nio时 我想检查这个值 因为channel在Linux中也是一个文件 所以我编写了一个客户端代码来不断创建socketC
  • 在正在运行的 JVM 中查找正在运行的实例

    我想知道是否可以获取给定类的正在运行的实例的句柄 触发此问题的特定问题是应用程序由于存在大量正在运行的线程而无法正常退出 是的 我知道您可以对 thead 进行守护进程 然后它们就不会阻止应用程序退出 但这确实让我想知道这是否可能 我能做的
  • Java 类:匿名类、嵌套类、私有类

    有人能解释一下Java中匿名类 嵌套类和私有类之间的区别吗 我想知道与每个相关的运行时成本以及每个编译器的方法 这样我就可以掌握哪个最适合用于例如性能 编译器优化的潜力 内存使用以及其他 Java 编码人员的普遍可接受性 我所说的匿名类是指

随机推荐

  • react方法返回html_react渲染markdown内容-使用react-markdown

    在react中渲染markdown内容有很多方法 后端将markdown渲染成html返回给前端进行渲染 react将markdown渲染成html进行渲染 react使用框架直接对markdown进行渲染 最方便的就是使用react使用框
  • 在 Windows 下关闭135/139/445端口的方法

    一 关闭 135端口 第一步 运行dcomcnfg 打开 组件服务 计算机 在 我的电脑 上右键点击 选 属性 然后点默认属性 把 在此计算机上启用分布式COM E 的勾去掉 接着返回到 默认协议 移除 面向连接的 TCP IP 协议 这操
  • VMware虚拟机实用经验总结大全

    1 VMware虚拟机实用经验之支持的Guest OS VMWare支持如下Guest OS MS DOS Win3 1 Win9x Me WinNT Win2000 WinXP Win Net Linux FreeBSD NetWare6
  • Vue学习之起步——浅谈文件系统

    学习前谈 大家都知道 Vue是一个比较火的前端框架 作为一个开发者 我们虽然没必要深究其底层原理 但是 它的 文件系统 执行脉络我们还是得梳理清楚的 首先 Vue启动时会进入 main js 即 main js 是入口文件 import V
  • c语言if语句习题,C语言练习

    C语言练习 D 算法只能被有限的用户使用 18 有如下嵌套的if语句 以下选项中与上述if语句等价的语句是 A k aB B b gt C b C B k aD k a 19 有以下程序 程序运行后的输出结果是 A 0 B 1 C 2 D
  • (一)K8S集群部署——master节点部署

    1 集群配置 本次部署使用三台服务器 master 192 168 0 2 node1 192 168 0 4 node2 192 168 0 14 服务器配置均为 CentOS 7 6 64位 8核 16G 100G 2 master部署
  • Unity 3D 读入本地 xml 文件

    Load and Display XML Data in Unity 3D 如果你能翻墙从 youtube 上就可以看到怎么用 using UnityEngine using System Collections
  • IDM怎么设置下载会更快

    虽然IDM的下载速度已经足够彪悍 其优秀的智能动态文件分段功能和安全的分段下载技术 让大多数下载器都望尘莫及 但贪心的我们总是希望下载速度能更快 实际上 IDM也隐藏了部分功力 并可通过配置设置将隐藏的 功力 发挥出来 一般来说 Inter
  • 基于MFC对话框的Windows服务程序

    最近需求要写个服务程序 部分功能用MFC类库实现将非常方便 因此就没打算使用win32的服务程序 虽然那样对于服务很简单 首先写好mfc的对话框程序 调试什么的 功能也都完成好 这一部分和平常的mfc对话框程序没有差别 之后的服务启动后打开
  • Elasticsearch--索引备份与迁移

    Elasticsearch集群备份 以及在不同集群之间迁移数据 类似mongodb的mongodump功能 Elasticsearch也提供了备份集群中索引数据的策略 snapshot API 它会备份整个集群的当前状态和数据 并保存到集群
  • java操作rabbitmq

    JMS JMS是JavaEE规范中的一种 类比JDBC JMS即Java消息服务 JavaMessage Service 应用程序接口 是一个Java平台中关于面向消息中间件的API很多MQ产 品都实现了JMS规范 但RabbitMQ官方并
  • Rsync的配置与使用

    一 介绍 不想看直接可以跳过 Rsync 是一个远程数据同步工具 可通过 LAN WAN 快速同步多台主机间的文件 Rsync 本来是用以取代rcp 的一个工具 它当前由 rsync samba org 维护 Rsync 使用所谓的 Rsy
  • [Transformer]CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped Windows

    CSWin Transformer 基于交叉十字形窗口的视觉Transformer框架 Abstract Section I Introduction Section II Related Work Section III Method P
  • 使用数字滤波器处理音频噪声(附Matlab程序)

    本篇文章主要介绍使用窗函数法构造FIR数字滤波器 并且滤除音频文件的噪声 以下为完整的程序 修改一下文件的位置 直接复制应该就可以 1 音频文件的采集与分析 Matlab输入的音频文件需要 wav 文件 可以使用一些软件转换格式 例如酷狗音
  • C#音频采集 (笔记)

    using System using System Collections Generic using System Text using System IO using System Threading using Microsoft D
  • Effective C++第七章-模板和泛型编程之模板特化和代码膨胀

    模板特化 class A public void func1 void func2 class B public void func1 void func2 template
  • 用JS的canvas实现数字签名

    用JS的canvas实现数字签名 思路 先创建画布 鼠标按下 同时随着鼠标的移动来绘制签名 最后鼠标松开绘制结束 直接上代码啦
  • electron 1. hello world

    cnpm init y cnpm i electron D 安装electron package json name news windows version 1 0 0 description main main js scripts t
  • 爬取电影天堂

    电影天堂爬虫之网页分析 from lxml import etree import requests BASE DOMAIN http www ygdy8 net url http www ygdy8 net html gndy dyzz
  • java中的sleep()和wait()的区别

    对于sleep 方法 我们首先要知道该方法是属于Thread类中的 而wait 方法 则是属于Object类中的 sleep 方法导致了程序暂停执行指定的时间 让出cpu该其他线程 但是他的监控状态依然保持者 当指定的时间到了又会自动恢复运