Esempio n. 1
0
        /// <summary>
        /// Class constructor
        /// </summary>
        public MutableDirectedGraph()
        {
            m_edgeSetBuffer = new BigBuffer <LinkedEdgeSetItem>();
            m_edgeSet       = new ConcurrentBigSet <LinkedEdgeSetItem>(backingItemsBuffer: m_edgeSetBuffer);

            // Create enough locks to ensure reasonable low contention even
            // if all threads are accessing this data structure
            m_locks = new ReadWriteLock[Environment.ProcessorCount * 4];
            for (int i = 0; i < m_locks.Length; i++)
            {
                m_locks[i] = ReadWriteLock.Create();
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Class constructor
 /// </summary>
 public DeserializedDirectedGraph()
 {
     m_edgeBuffer = new BigBuffer <Edge>();
 }