/** * 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)); } }