Exemplo n.º 1
0
 /**
  * Constructs a new cache using <code>capacity</code> for maximum size, and <code>loWater</code> for the low water.
  *
  * @param loWater  the low water level.
  * @param capacity the maximum capacity.
  */
 public BasicMemoryCache(long loWater, long capacity)
 {
     this.entries   = new java.util.concurrent.ConcurrentHashMap <Object, CacheEntry>();
     this.listeners = new java.util.concurrent.CopyOnWriteArrayList <MemoryCache.CacheListener>();
     this.capacity.set(capacity);
     this.lowWater = loWater;
     this.currentUsedCapacity.set((long)0);
 }
Exemplo n.º 2
0
        //
        // static initialization
        //

        static CultureInfo()
        {
            _LocaleCache = new java.util.concurrent.ConcurrentHashMap();
            _LocaleCache.put("", java.util.Locale.ROOT);

            _CultureCache          = new java.util.concurrent.ConcurrentHashMap();
            s_InvariantCultureInfo = new CultureInfo("", false);
            _CultureCache.put("", s_InvariantCultureInfo);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 初始化桌子列表
        /// 
        /// 线程同步更新数据问题
        /// 
        /// </summary>
        public void initRoomList(
            XmlNode tabNode_,
            List<ITabModel> tabList_,
            string costUser,
            int runAwayMultiG,
            int reconnectionTime,
            int everyDayLogin
            )
        {
            try
            {
               
                
                if (null == roomList)
                {
                    //0.1f 表示最佳的性能
                    //允许并发读但只能一个线程写
                    roomList = new java.util.concurrent.ConcurrentHashMap<int, IRoomModel>();
                    
                }

                //-------------------------------------------

                //房间数量
                XmlNodeList ChildNodes = tabNode_.ChildNodes;

                int i = 0;
                int j = 0;
                int tabNum = tabNode_.ChildNodes.Count;
                totalRoom = 0;

                for (i = 0; i < tabNum; i++)
                {

                    int tabIndex = 0;

                    int roomG = 1;
                    int roomCarryG = 1;
                    float roomCostG = 0.0f; //注意cost默认为0.0f
                    String roomCostU = costUser;
                    String roomCostUid = costUser == "" ? "" : getMd5Hash(costUser);
                    int tabAutoMatchMode = 0;
                    int tabQuickRoomMode = 0;

                    
                    TabModelByDdz tab = (TabModelByDdz)tabList_[i];

                    tabIndex = tab.getId();
                    roomG = tab.getRoomG();
                    roomCarryG = tab.getRoomCarryG();
                    roomCostG = tab.getRoomCostG();
                    tabAutoMatchMode = tab.getTabAutoMatchMode();
                    tabQuickRoomMode = tab.getTabQuickRoomMode();

                    int jLen = tab.getRoomCount();

                    for (j = 0; j < jLen; j++)
                    {

                        totalRoom++;

                        IRoomModel room;
                        IRuleModel rule = RuleModelFactory.Create();


                        room = RoomModelFactory.Create(totalRoom, tabIndex, rule);
                                                
                        room.setName(tabList_[i].getRoomName()[j]);

                        //refresh room gold point config
                        room.setDig(roomG);
                        room.setCarryg(roomCarryG);
                        room.setCostg(roomCostG, roomCostU, roomCostUid);
                        room.setTabAutoMatchMode(tabAutoMatchMode);
                        room.setTabQuickRoomMode(tabQuickRoomMode);

                        //allowPlayerGlessThanZeroOnGameOver
                        room.setAllowPlayerGlessThanZeroOnGameOver(allowPlayerGlessThanZeroOnGameOver);

                        //
                        room.setRunAwayMultiG(runAwayMultiG);
                        room.setReconnectionTime(reconnectionTime);
                        room.setEveryDayLogin(everyDayLogin);

                        //ChildNodes[i].getChildren().get(j).getAttributeValue("pwd");
                        String roomPwd = ChildNodes[i].ChildNodes[j].Attributes["pwd"].Value;
                        room.setPwd(roomPwd);

                        roomList.put(room.getId(), room);

                    }


                }
                
            }
            catch (Exception exd)
            {
                Log.WriteStrByException(CLASS_NAME, "initRoomList", exd.Message,exd.Source,exd.StackTrace);
            }

        }
Exemplo n.º 4
0
        public  void initTabList(List<ITabModel> tabList_)
        {
            int tabNum = tabList_.Count;

            //
            if(null == tabList)
            {

                tabList = new java.util.concurrent.ConcurrentHashMap<int, ITabModel>();  

            }        
            
            //
            for (int i = 0; i < tabNum; i++)
            {
                tabList.Add(tabList_[i].Id, tabList_[i]);
            
                
            }
        
           
        
        
        
        }
Exemplo n.º 5
0
 public TextRendererCache()
 {
     this.textRendererMap = new java.util.concurrent.ConcurrentHashMap <Object, TextRenderer>();
 }