一、前言

  对于并发编程而言,除了Thread以外,对Object对象的wati和notify对象也应该深入了解其用法,虽然知识点不多。

二、线程安全基本知识

  首先应该记住以下基本点,先背下来也无妨:

  • 同一时间一个锁只能被一个线程持有

  • 调用对象的wait()和notify()前必须持有它

三、wait()和notify()理解

3.1 wait()和notify()方法简介

  wait()和notify()都是Object的方法,可以认为任意一个Object都是一种资源(或者资源的一个代表),当多个线程对一个资源进行操作时,如果线程发现这个资源还没有准备好,它就可以在这个资源上进行等待,即调用这个资源的wait()方法,如果有另外的线程经过某些处理觉得这个资源可用了,会调用这个这个资源的notify()方法,告诉等待它的线程,这个资源可以用了。

  当然不使用wait()和notify()方法也是可以的,可以用while()死循环来判断,如下面的伪代码: 

seo优化培训,网络推广培训,网络营销培训,SEM培训,网络优化,在线营销培训

class Resource{    static boolean canUse=false;
}while(!Resource.canUse){    //如果不可用,死循环在这里等待}//当资源可以使用后,就会跳出循环,往下执行

seo优化培训,网络推广培训,网络
        
		<div class=

网友评论