Сообщение Re: Паралелльное изменение одного объекта от 12.04.2016 9:54
Изменено 12.04.2016 9:54 Vladek
Здравствуйте, e.thrash, Вы писали:
ET>Есть такой метод
ET>
ET>каждый из методов вычисляет и меняет независимые друг от друга данные объекта Car.
Это сейчас так, а как оно будет через полгода-год? Какой код гарантирует, что эти два метода не будут менять одни и те же данные? Или там просто камент с предупреждением висеть будет?
ET>Насколько опасным будет код если эти два метода распаллелить в Task.ContinueWhenAll ?
ET>Нужна ли в данном случае синхронизация?
Всё тайное нужно сделать явным. Разделить Car на два объекта, после вычислений собирать снова в один, например.
ET>Есть такой метод
ET>
ET>Calculate(Car car)
ET>{
ET> CalculatePrice(car);
ET> CalculateUseTime(car);
ET>}
ET>
ET>каждый из методов вычисляет и меняет независимые друг от друга данные объекта Car.
Это сейчас так, а как оно будет через полгода-год? Какой код гарантирует, что эти два метода не будут менять одни и те же данные? Или там просто камент с предупреждением висеть будет?
ET>Насколько опасным будет код если эти два метода распаллелить в Task.ContinueWhenAll ?
ET>Нужна ли в данном случае синхронизация?
Всё тайное нужно сделать явным. Разделить Car на два объекта, после вычислений собирать снова в один, например.
Re: Паралелльное изменение одного объекта
Здравствуйте, e.thrash, Вы писали:
ET>каждый из методов вычисляет и меняет независимые друг от друга данные объекта Car.
Это сейчас так, а как оно будет через полгода-год? Какой код гарантирует, что эти два метода не будут менять одни и те же данные? Или там просто камент с предупреждением висеть будет?
ET>Насколько опасным будет код если эти два метода распаллелить в Task.ContinueWhenAll ?
ET>Нужна ли в данном случае синхронизация?
Всё тайное нужно сделать явным. Разделить Car на два объекта, после вычислений собирать снова в один, например.
ET>каждый из методов вычисляет и меняет независимые друг от друга данные объекта Car.
Это сейчас так, а как оно будет через полгода-год? Какой код гарантирует, что эти два метода не будут менять одни и те же данные? Или там просто камент с предупреждением висеть будет?
ET>Насколько опасным будет код если эти два метода распаллелить в Task.ContinueWhenAll ?
ET>Нужна ли в данном случае синхронизация?
Всё тайное нужно сделать явным. Разделить Car на два объекта, после вычислений собирать снова в один, например.