Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit ed2eba96 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

synchronize access toCyclesCache

parent 13c96610
No related branches found
No related tags found
No related merge requests found
......@@ -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")]
......@@ -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 {
......
......@@ -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")]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment