Сообщение Re[3]: Паралелльное изменение одного объекта от 09.04.2016 19:49
Изменено 09.04.2016 19:50 LaptevVV
LVV>>Классика.
S>Что я делаю не так, почему не могу воспроизвести "классику"?
S>
Ну, век живи — век учись.
Это я про себя...
S>Что я делаю не так, почему не могу воспроизвести "классику"?
S>
S> class Program
S> {
S> static void Main(string[] args)
S> {
S> const int iterationCount = 10000000;
S> var car = new Car();
S> var priceTask = Task.Run(
S> () =>
S> {
S> for (int i = 0; i < iterationCount; i++)
S> CalculatePrice(car);
S> });
S> var useTimeTask = Task.Run(
S> () =>
S> {
S> for (int i = 0; i < iterationCount; i++)
S> CalculateUseTime(car);
S> });
S> Task.WaitAll(priceTask, useTimeTask);
S> Console.WriteLine(car.Price);
S> Console.WriteLine(car.UseTime);
S> }
S> static void CalculatePrice(Car car)
S> {
S> car.Price += 1;
S> }
S> static void CalculateUseTime(Car car)
S> {
S> car.UseTime += 1;
S> }
S> }
S> class Car
S> {
S> public int Price;
S> public int UseTime;
S> }
S>
Ну, век живи — век учись.
Это я про себя...
Re[3]: Паралелльное изменение одного объекта
LVV>>Классика.
S>Что я делаю не так, почему не могу воспроизвести "классику"?
S>
Ну, век живи — век учись.
Это я про себя...
Это же Додиез.
А в нем — ссылки, а не значения...
S>Что я делаю не так, почему не могу воспроизвести "классику"?
S>
S> class Program
S> {
S> static void Main(string[] args)
S> {
S> const int iterationCount = 10000000;
S> var car = new Car();
S> var priceTask = Task.Run(
S> () =>
S> {
S> for (int i = 0; i < iterationCount; i++)
S> CalculatePrice(car);
S> });
S> var useTimeTask = Task.Run(
S> () =>
S> {
S> for (int i = 0; i < iterationCount; i++)
S> CalculateUseTime(car);
S> });
S> Task.WaitAll(priceTask, useTimeTask);
S> Console.WriteLine(car.Price);
S> Console.WriteLine(car.UseTime);
S> }
S> static void CalculatePrice(Car car)
S> {
S> car.Price += 1;
S> }
S> static void CalculateUseTime(Car car)
S> {
S> car.UseTime += 1;
S> }
S> }
S> class Car
S> {
S> public int Price;
S> public int UseTime;
S> }
S>
Ну, век живи — век учись.
Это я про себя...
Это же Додиез.
А в нем — ссылки, а не значения...