Example #1
0
 /**
  * mtiTheading 多线程单例,双重锁
  * 
  * @Access public
  * @Return void
  */
 public static function mtiTheading($tabName, $UserModel)
 {
     if (empty($UserModel)) {
         if (empty(self::$SingTon)) {
             self::$SingTon = new Model();
         }
         $singTon = serialize(self::$SingTon);
         $model = MyMemcache::get('model');
         if (empty($model)) {
             MyMemcache::set('model', $singTon);
         }
         return unserialize(MyMemcache::get('model'));
     } else {
         if (empty(self::$userModel[$tabName])) {
             self::$userModel[$tabName] = new $UserModel();
         }
         $singTon = serialize(self::$userModel[$tabName]);
         $model = MyMemcache::get($tabName);
         if (empty($model)) {
             MyMemcache::set($tabName, $singTon);
         }
         return unserialize(MyMemcache::get($tabName));
     }
 }