java wait

java wait是怎样的呢?下面就让我们一起来了解一下吧:

wait()方法是属于java中的一个方法,它的作用是能够让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。直到其他线程调用此对象的notify()方法或者notifyAll()方法,当前线程被唤醒(也就是进入“就绪状态”)。

说明:

notify()和notifyAll()方法的作用,则是用于唤醒当前对象上的等待线程;notify()方法是唤醒单个线程,而notifyAll()是唤醒所有的线程。

参考范例:

packagecom.citi.test.mutiplethread.demo0503;importjava.util.Date;publicclassWaitTest{publicstaticvoidmain(String[]args){ThreadAt1=newThreadA("t1");System.out.println("t1:"+t1);synchronized(t1){try{//启动线程System.out.println(Thread.currentThread().getName()+"startt1");t1.start();//主线程等待t1通过notify唤醒。System.out.println(Thread.currentThread().getName()+"wait()"+newDate());t1.wait();//不是使t1线程等待,而是当前执行wait的线程等待System.out.println(Thread.currentThread().getName()+"continue"+newDate());}catch(Exceptione){e.printStackTrace();}}}}classThreadAextendsThread{publicThreadA(Stringname){super(name);}@Overridepublicvoidrun(){synchronized(this){System.out.println("this:"+this);try{Thread.sleep(2000);//使当前线程阻塞1秒}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}System.out.println(Thread.currentThread().getName()+"callnotify()");this.notify();}}}

标签:java wait

免责声明:本内容来自橡树街平台创作者或收集于互联网公开资源,不代表橡树街网的观点和立场。如有侵权内容,请联系我们删除。联系邮箱:ihuangque@qq.com
相关推荐
  • java初学者应该怎么学
    java初学者应该怎么学
    08-05
  • Java工程师要学习多久
    Java工程师要学习多久
    08-05
  • java能干什么
    java能干什么
    08-05
  • java都可以干什么
    java都可以干什么
    08-05
  • java工程师前景怎么样
    java工程师前景怎么样
    08-05
  • Java认证学历要求
    Java认证学历要求
    08-05
  • java代表什么意思
    java代表什么意思
    08-05
  • java编程要不要学c语言
    java编程要不要学c语言
    08-05
  • java工程师都是干啥的
    java工程师都是干啥的
    08-05
  • java学了做什么工作
    java学了做什么工作
    08-05