并发访问例子
假设在一个应用系统中,有一个共享的数据必须被并发同时访问,首先,将这个数据封装在数据对象中,称为Data类,同时,将有多个访问类,专门用于在同一时刻访问这同一个数据对象。
为了完成上述并发访问同一资源的功能,需要引入锁(Lock)的概念,也就是说,某个时刻,当有一个访问类访问这个数据对象时,这个数据对象必须上锁(Locked),用完后就立即解锁(unLocked),再供其它访问类访问。
对访问共享数据的类创建一个基类,所有的数据访问类均继承这个基类。
多个访问类同时访问一个共享数据对象时,每个访问类在访问这个数据对象时,需要将数据对象上锁,访问完成后,再实行解锁,供其它并发线程访问