Java项目中中睡眠()与()等有什么不同

  介绍

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

对于睡眠()<代码> 方法,我们首先要知道该方法是属于线程类中的。而<代码>等()方法,则是属于对象类中的。

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

在调用睡眠()<代码> 方法的过程中,线程不会释放对象锁。

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

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

什么意思呢?

/* *   *   */包com.b510.test;/* *   java中*的睡眠等()和()的区别   * @author Hongten   * @date 2013-12-10   */公开课TestD {      公共静态void main (String [] args) {   新线程(新Thread1 ()) .start ();   尝试{   thread . sleep (5000);   }捕捉(异常e) {   e.printStackTrace ();   }   新线程(新Thread2 ()) .start ();   }      私有静态类Thread1实现Runnable {   @Override   公共空间run () {   同步(TestD.class) {   System.out.println(“进入thread1…“);   System.out.println (“thread1是等待…“);   尝试{//调用wait()方法,线程会放弃对象锁,进入等待此对象的等待锁定池   TestD.class.wait ();   }捕捉(异常e) {   e.printStackTrace ();   }   System.out.println (“thread1是>输入thread1……   thread1是等待……   进入thread2 ....   thread2是睡眠....   thread2会> TestD.class.notify ();

<强>运行效果:

输入thread1……
  thread1是等待……
  进入thread2 ....
  thread2是睡眠....
  thread2会>以上就是Java项目中中睡眠()与()等有什么不同,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

Java项目中中睡眠()与()等有什么不同