Exemple #1
0
        /// <summary>
        /// 安全的获取数组队列
        /// </summary>
        /// <returns></returns>
        public int[] GetIntArray()
        {
            int[] result = null;

            HybirdLock.Enter();
            result = new int[ArrayLength];
            //进入混合锁模式
            for (int i = 0; i < ArrayLength; i++)
            {
                result[i] = DataArray[i];
            }
            HybirdLock.Leave();

            return(result);
        }
Exemple #2
0
        /// <summary>
        /// 线程安全的添加数据
        /// </summary>
        /// <param name="value">值</param>
        public void AddValue(int value)
        {
            HybirdLock.Enter();
            //进入混合锁模式
            for (int i = 0; i < ArrayLength - 1; i++)
            {
                DataArray[i] = DataArray[i + 1];
            }
            DataArray[ArrayLength - 1] = value;

            for (int i = 0; i < ArrayLength; i++)
            {
                BitConverter.GetBytes(DataArray[i]).CopyTo(DataBytes, 4 * i);
            }

            HybirdLock.Leave();
        }