Full Site Version
using System;
using System.Linq;
using System.Threading.Tasks;
public class Program
{
public static void Main()
var numbers = Enumerable.Range(0, 10);
Parallel.ForEach(numbers, i =>
var vm = VoteMachine.Instance;
vm.RegisterVote();
});
Console.WriteLine(VoteMachine.Instance.TotalVotes);
}
public class VoteMachine
private static readonly VoteMachine _instance = new VoteMachine();
private int _totalVotes = 0;
static VoteMachine()
private VoteMachine()
public static VoteMachine Instance
get
return _instance;
public void RegisterVote()
_totalVotes += 1;
Console.WriteLine("Registered Vote #" + _totalVotes);
public int TotalVotes
return _totalVotes;