Mutual Exclusion Required
<p>Code that not affecting the collection needs Mutual Exclusion</p>

<pre><code>    List&lt;string&gt; _itemColection = new List&lt;string&gt;();
    object _criticalSection = new object();

    private void Add(string item)
    {
        lock (_criticalSection)
        {
            _itemColection.Add(item);
        }
    }

    private void Remove(string item)
    {
        lock (_criticalSection)
        {
            _itemColection.Remove(item);
        }
    }

    private void GetCount()
    {
        ///Is it lock is reuired here?
        return _itemColection.Count;
    }

    //Thread method
    private void Run()
    {
        lock (_criticalSection)
        {

            foreach (string item in _itemColection)
            {
                ///Some operation
            }
        }
    }
</code></pre>

<p>Is it Mutex is required in GetCount() method. The collection value's are not changed</p>
