diff --git a/VectoConsole/Properties/Version.cs b/VectoConsole/Properties/Version.cs index 2eeeb70dd05dbc02954cc3c90ef3fc5113e7dac3..dca748d3420fe97dedcac25efe0599b1f4fbd967 100644 --- a/VectoConsole/Properties/Version.cs +++ b/VectoConsole/Properties/Version.cs @@ -30,5 +30,5 @@ */ using System.Reflection; -[assembly: AssemblyVersion("3.0.2.448")] -[assembly: AssemblyFileVersion("3.0.2.448")] +[assembly: AssemblyVersion("3.0.2.456")] +[assembly: AssemblyFileVersion("3.0.2.456")] diff --git a/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs b/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs index c1dd3a7326b455662e56e8f19bedcb099b32157d..d5acc21e4cd5b1376b862d4aa6979a473977e2eb 100644 --- a/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs +++ b/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs @@ -44,7 +44,9 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl { public class DeclarationModeVectoRunDataFactory : LoggingObject, IVectoRunDataFactory { - protected static Dictionary<MissionType, DrivingCycleData> CyclesCache = + private static readonly object CyclesCacheLock = new object(); + + private static readonly Dictionary<MissionType, DrivingCycleData> CyclesCache = new Dictionary<MissionType, DrivingCycleData>(); protected IDeclarationInputDataProvider InputDataProvider; @@ -88,11 +90,13 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl foreach (var mission in segment.Missions) { DrivingCycleData cycle; - if (CyclesCache.ContainsKey(mission.MissionType)) { - cycle = CyclesCache[mission.MissionType]; - } else { - cycle = DrivingCycleDataReader.ReadFromStream(mission.CycleFile, CycleType.DistanceBased, "", false); - CyclesCache.Add(mission.MissionType, cycle); + lock (CyclesCacheLock) { + if (CyclesCache.ContainsKey(mission.MissionType)) { + cycle = CyclesCache[mission.MissionType]; + } else { + cycle = DrivingCycleDataReader.ReadFromStream(mission.CycleFile, CycleType.DistanceBased, "", false); + CyclesCache.Add(mission.MissionType, cycle); + } } foreach (var loading in mission.Loadings) { var simulationRunData = new VectoRunData { diff --git a/VectoCore/Properties/Version.cs b/VectoCore/Properties/Version.cs index 2eeeb70dd05dbc02954cc3c90ef3fc5113e7dac3..dca748d3420fe97dedcac25efe0599b1f4fbd967 100644 --- a/VectoCore/Properties/Version.cs +++ b/VectoCore/Properties/Version.cs @@ -30,5 +30,5 @@ */ using System.Reflection; -[assembly: AssemblyVersion("3.0.2.448")] -[assembly: AssemblyFileVersion("3.0.2.448")] +[assembly: AssemblyVersion("3.0.2.456")] +[assembly: AssemblyFileVersion("3.0.2.456")]