Write a standard lock() plus double check to create a
critical section around a variable access?
Answer / 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 |
How do you handle unhandled exceptions in ASP.NET?.
Why session management is required?
Does C# support static class?Is Static class be inherited by any class?
What is http response header?
Is asp.net and .net the same?
What is a nested masterpage in asp.net 2.0? Can there be a master page inside a masterpage?
In a Repeater control how one can provide an alternating color scheme ?
Explain file-based dependency and key-based dependency.
Will the asp.net validators run in server side or client side?
What is jade template engine?
What are the Types of chaching. How to implement caching
Rate yourself in .net and sql database?
1 Answers BrickRed, Infosys, Satyam, SP Software,