Write a standard lock() plus double check to create a
critical section around a variable access?
Answer Posted / debmalya kundu
using System;
using System.Text;
using System.Threading;
namespace thread01
{
public class Counter
{
private int _count=0;
private int _even=0;
public int Count { get { return _count; } }
public int EvenCount { get { return _even; } }
private Object theLock = new Object();
public void UpdateCount()
{
lock (theLock)
{
_count = _count + 1;
if (Count % 2 == 0) // An even number
{
_even += 1;
}
}
}
}
class Program
{
static void Main(string[] args)
{
Counter count = new Counter();
ParameterizedThreadStart starter = new
ParameterizedThreadStart(Program.UpdateCount);
Thread[] threads = new Thread[10];
for (int x = 0; x < 10; ++x)
{
threads[x] = new Thread(starter);
threads[x].Start(count);
}
for (int y = 0; y < 10; ++y)
{
threads[y].Join();
}
Console.WriteLine("Total: {0} - Even: {1}",
count.Count,count.EvenCount);
Console.ReadKey();
Console.ReadKey();
}
static void UpdateCount(object param)
{
Counter count = (Counter)param;
for (int z = 1; z <= 100000; ++z)
{
count.UpdateCount();
}
}
}
}
| Is This Answer Correct ? | 3 Yes | 0 No |
Post New Answer View All Answers
Is asp.net free?
What is the asp.net mvc folder conventions? : asp.net mvc
What is in a session cookie?
Where session id is stored?
How to create events for a control?
What is repository pattern in mvc.net? : asp.net mvc
Name the namespace which is used by ado.net?
What is a viewstate?
What is the best Macanism to clear the Cache in asp.net
In which event of page cycle is the viewstate available?
What permissions do asp.net applications posses by default?
14. What are your Future Plans for Swatz Oils GROUP U.K?
What are sessions used for?
Write a code snippet to implement the indentation in json in web api.
What is the basic difference between asp and asp.net?