iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java项目中中sleep()与wait()有什么不同
  • 670
分享到

Java项目中中sleep()与wait()有什么不同

javasleep()wait() 2023-05-31 14:05:50 670人浏览 薄情痞子
摘要

本篇文章给大家分享的是有关Java项目中中sleep()与wait()有什么不同,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言对于sleep()方法,我们首先要知道该方法是

本篇文章给大家分享的是有关Java项目中中sleep()与wait()有什么不同,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

前言

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

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

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

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

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

什么意思呢?

举个列子说明:

package com.b510.test;public class TestD { public static void main(String[] args) {  new Thread(new Thread1()).start();  try {   Thread.sleep(5000);  } catch (Exception e) {   e.printStackTrace();  }  new Thread(new Thread2()).start(); }  private static class Thread1 implements Runnable{  @Override  public void run(){   synchronized (TestD.class) {   System.out.println("enter thread1...");    System.out.println("thread1 is waiting...");   try {    //调用wait()方法,线程会放弃对象锁,进入等待此对象的等待锁定池    TestD.class.wait();   } catch (Exception e) {    e.printStackTrace();   }   System.out.println("thread1 is Going on ....");   System.out.println("thread1 is over!!!");   }  } }  private static class Thread2 implements Runnable{  @Override  public void run(){   synchronized (TestD.class) {    System.out.println("enter thread2....");    System.out.println("thread2 is sleep....");    //只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。    TestD.class.notify();    //==================    //区别    //如果我们把代码:TestD.class.notify();给注释掉,即TestD.class调用了wait()方法,但是没有调用notify()    //方法,则线程永远处于挂起状态。    try {     //sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,     //但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。     //在调用sleep()方法的过程中,线程不会释放对象锁。     Thread.sleep(5000);    } catch (Exception e) {     e.printStackTrace();    }    System.out.println("thread2 is going on....");    System.out.println("thread2 is over!!!");   }  } }}

--结束END--

本文标题: Java项目中中sleep()与wait()有什么不同

本文链接: https://www.lsjlt.com/news/226371.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java项目中中sleep()与wait()有什么不同
    本篇文章给大家分享的是有关Java项目中中sleep()与wait()有什么不同,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言对于sleep()方法,我们首先要知道该方法是...
    99+
    2023-05-31
    java sleep() wait()
  • sleep()与wait()在Java中有什么不同
    sleep()与wait()在Java中有什么不同?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。详解Java中的sleep()和wait()的区别对于sleep()方法,我们首...
    99+
    2023-05-31
    java sleep() wait()
  • java中sleep()和wait()有什么区别
    这篇文章主要介绍java中sleep()和wait()有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统...
    99+
    2023-06-14
  • 在Java中sleep()和wait()有什么区别
    Java中sleep()和wait()的区别:sleep()是线程类的静态方法,而wait()是Object类的方法。Sleep()可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断,而Wait()可以...
    99+
    2024-04-02
  • Java中sleep和wait方法有什么区别
    本篇内容主要讲解“Java中sleep和wait方法有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中sleep和wait方法有什么区别”吧!一、sleep和wait方法的区别根...
    99+
    2023-06-30
  • python中sleep和wait有什么区别
    这期内容当中小编将会给大家带来有关python中sleep和wait有什么区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyth...
    99+
    2023-06-14
  • Java项目中使用 this()与super()方法有什么不同
    Java项目中使用 this()与super()方法有什么不同?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java this()和super()的使用注意使用super和th...
    99+
    2023-05-31
    java this() super()
  • WindowManager与Window在Android项目中有什么不同
    这篇文章将为大家详细讲解有关WindowManager与Window在Android项目中有什么不同,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Window表示一个窗口的概念,Window...
    99+
    2023-05-31
    window windowmanager android
  • java中wait和sleep的区别是什么
    在Java中,`wait()`和`sleep()`是两个不同的方法,用于不同的场景。1. `wait()`: `wait()`是Ob...
    99+
    2023-08-08
    java wait sleep
  • Java中wait与sleep的区别讲解(wait有参及无参区别)
    目录1. wait() 与wait( long timeout ) 区别2. wait(0) 与 sleep(0)区别3. wait 和sleep 释放代码4. wait 与 sle...
    99+
    2024-04-02
  • java中sleep()和wait()的区别有哪些
    这篇文章主要介绍java中sleep()和wait()的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;...
    99+
    2023-06-14
  • java中的sleep和wait怎么使用
    在Java中,sleep和wait都是用来控制线程的方法,但用途和使用方式有所不同。1. sleep方法:- sleep是Threa...
    99+
    2023-08-11
    java sleep wait
  • dismiss()与cancel()方法在Android项目中有什么不同
    本篇文章给大家分享的是有关dismiss()与cancel()方法在Android项目中有什么不同,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. public void c...
    99+
    2023-05-31
    android dismiss() cancel()
  • java 中String.equals与==有什么不同
    本篇文章给大家分享的是有关java 中String.equals与==有什么不同,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 java 中String.equals...
    99+
    2023-05-31
    java string.equals ava
  • java中await与wait有什么区别
    在Java中,`await`和`wait`是两个不同的概念,具有不同的用途和语义。1. `await`:`await`是用于线程间的协作与通信,一般用于多线程编程中的同步操作。它是在`java.util.concurrent`包中的`C...
    99+
    2023-08-11
    java await wait
  • Java中Object.equals与String.equals有什么不同
    Java中Object.equals与String.equals有什么不同?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、基础知识Java的存储空间:寄存器、栈、堆、静态...
    99+
    2023-05-31
    java object.equals string.equals
  • Java中hashCode()与equals()有什么不同
    这期内容当中小编将会给大家带来有关Java中hashCode()与equals()有什么不同,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。equals()方法equals是Object类提供的方法之一,众...
    99+
    2023-05-31
    java hashcode() equals()
  • Java中的==与equals有什么不同
    这篇文章给大家介绍Java中的==与equals有什么不同,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java中==运算符与equals方法的区别及intern方法详解  ==运算符与equals()方法2...
    99+
    2023-05-31
    java == equals
  • implement与extends在JAVA中有什么不同
    这篇文章给大家介绍implement与extends在JAVA中有什么不同,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承...
    99+
    2023-05-31
    java implement extends
  • init与clinit在Java中有什么不同
    今天就跟大家聊聊有关init与clinit在Java中有什么不同,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。init和clinit区别①init和clinit方法执行时机不同ini...
    99+
    2023-05-31
    java clinit init
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作